学生成绩管理系统

简介: 学生成绩管理系统

在这个Java面向对象编程的实例中,我们将实现一个简单的学生成绩管理系统。这个系统将包括以下几个关键部分:

1. 学生类 (Student):包含学生的基本信息,如姓名和学号。

2. 课程类 (Course):包含课程的基本信息,如课程名称和课程编号。

3. 成绩类 (Score):用于存储学生某个课程的成绩。

4. 成绩管理系统类 (GradeManagement):用于管理学生、课程和成绩,提供添加学生、添加课程、录入成绩和查询成绩的功能。

下面是这个系统的具体实现:

1. 学生类 (Student)

java复制代码

 

public class Student {

 

private String name;

 

private String studentId;

 

 

 

public Student(String name, String studentId) {

 

this.name = name;

 

this.studentId = studentId;

 

}

 

 

 

public String getName() {

 

return name;

 

}

 

 

 

public String getStudentId() {

 

return studentId;

 

}

 

 

 

// 省略setter方法和toString方法

 

}

2. 课程类 (Course)

java复制代码

 

public class Course {

 

private String name;

 

private String courseCode;

 

 

 

public Course(String name, String courseCode) {

 

this.name = name;

 

this.courseCode = courseCode;

 

}

 

 

 

public String getName() {

 

return name;

 

}

 

 

 

public String getCourseCode() {

 

return courseCode;

 

}

 

 

 

// 省略setter方法和toString方法

 

}

3. 成绩类 (Score)

java复制代码

 

public class Score {

 

private String studentId;

 

private String courseCode;

 

private int score;

 

 

 

public Score(String studentId, String courseCode, int score) {

 

this.studentId = studentId;

 

this.courseCode = courseCode;

 

this.score = score;

 

}

 

 

 

public String getStudentId() {

 

return studentId;

 

}

 

 

 

public String getCourseCode() {

 

return courseCode;

 

}

 

 

 

public int getScore() {

 

return score;

 

}

 

 

 

// 省略setter方法和toString方法

 

}

4. 成绩管理系统类 (GradeManagement)

java复制代码

 

import java.util.ArrayList;

 

import java.util.HashMap;

 

import java.util.List;

 

import java.util.Map;

 

 

 

public class GradeManagement {

 

private List<Student> students;

 

private List<Course> courses;

 

private Map<String, Map<String, Integer>> scores; // 使用嵌套的Map来存储成绩,外层Map的key是学生ID,内层Map的key是课程编号,value是分数

 

 

 

public GradeManagement() {

 

students = new ArrayList<>();

 

courses = new ArrayList<>();

 

scores = new HashMap<>();

 

}

 

 

 

public void addStudent(Student student) {

 

students.add(student);

 

scores.put(student.getStudentId(), new HashMap<>()); // 为新学生初始化一个空的成绩Map

 

}

 

 

 

public void addCourse(Course course) {

 

courses.add(course);

 

}

 

 

 

public void enterScore(String studentId, String courseCode, int score) {

 

Map<String, Integer> studentScores = scores.get(studentId);

 

if (studentScores != null) {

 

studentScores.put(courseCode, score); // 为学生录入成绩

 

} else {

 

System.out.println("学生不存在,请先添加学生信息!");

 

}

 

}

 

 

 

public void printScore(String studentId) {

 

Map<String, Integer> studentScores = scores.get(studentId);

 

if (studentScores != null) {

 

System.out.println("学生:" + studentId + " 的成绩如下:");

 

for (Map.Entry<String, Integer> entry : studentScores.entrySet()) {

 

System.out.println("课程:" + entry.getKey() + ",分数:" + entry.getValue());

 

}

 

} else {

 

System.out.println("学生不存在或没有成绩信息!");

 

}

 

}

 

 

 

// 其他方法,如按课程查询成绩、按分数排序等可以在这里添加

 

}

 

目录
相关文章
|
域名解析 网络协议 安全
Github 一键加速 ,支持 Win Mac !!!
Github 一键加速 ,支持 Win Mac !!!
3399 1
Github 一键加速 ,支持 Win Mac !!!
|
4月前
|
弹性计算 人工智能 机器人
超详细!Hermes Agent 一键部署全流程指南,轻松上手不踩坑
本文将为大家分享 Hermes Agent 一键部署全流程指南,助力大家轻松上手不踩坑!
3517 17
|
7月前
|
机器学习/深度学习 数据采集 人工智能
【前沿观察】金加德讲师:2026,AI应用元年——技术人如何跨越“模型”与“落地”的鸿沟,跟随时代脚步?
2026年,AI迈入“应用元年”,技术重心从大模型转向智能体落地。金加德讲师指出,推理成本骤降、交互范式重构与确定性逻辑回归推动AI进入工业化时代。Prompt工程让位于Agent系统设计,Coze与Python成核心工具。个人竞争力在于掌握“胶水语言”、架构思维与领域知识。未来属于能定义问题、构建系统的“数字造物主”。
588 1
|
10月前
|
人工智能 自然语言处理 机器人
2025年度最具影响力AI副业变现榜单:十大达人深度解析
2025年AI深度赋能商业,十位标杆人物引领副业变现新潮。武彬以AIGC+电商降本90%居首,王兴兴、姜大昕等聚焦机器人与大模型,龍新远、数字人博主等则掘金情感与教育赛道,揭示技术普惠与场景融合的爆发潜力。(238字)
1997 2
|
数据采集 机器学习/深度学习 人工智能
SongGen:三秒克隆音色!开源AI一键生成专业级歌曲,创作人必备神器
SongGen是由上海AI Lab、北京航空航天大学和香港中文大学联合推出的单阶段自回归Transformer模型,能够通过文本生成高质量歌曲,支持混合模式和双轨模式,显著提升生成歌曲的自然度和人声清晰度。
1605 3
SongGen:三秒克隆音色!开源AI一键生成专业级歌曲,创作人必备神器
|
存储 人工智能 运维
面向AI的服务器计算软硬件架构实践和创新
阿里云在新一代通用计算服务器设计中,针对处理器核心数迅速增长(2024年超100核)、超多核心带来的业务和硬件挑战、网络IO与CPU性能增速不匹配、服务器物理机型复杂等问题,推出了磐久F系列通用计算服务器。该系列服务器采用单路设计减少爆炸半径,优化散热支持600瓦TDP,并实现CIPU节点比例灵活配比及部件模块化可插拔设计,提升运维效率和客户响应速度。此外,还介绍了面向AI的服务器架构挑战与软硬件结合创新,包括内存墙问题、板级工程能力挑战以及AI Infra 2.0服务器的开放架构特点。最后,探讨了大模型高效推理中的显存优化和量化压缩技术,旨在降低部署成本并提高系统效率。
|
资源调度 前端开发 JavaScript
安利一款基于canvas/svg的富文本编辑器-支持在线导出PDF、DOCX
高性能:利用Canvas和SVG进行图形和矢量图形的渲染,提供高性能的绘图能力。 可扩展性:Canvas-Editor是一个开源项目,支持通过插件机制扩展编辑器的功能,如DOCX、PDF导出、表格分页等。 丰富的文本编辑功能:支持多种文本编辑操作,如插入表格、分页、性能优化等。
2149 0
|
网络协议 安全 网络安全
解析IPv6报文结构
【7月更文挑战第1天】IPv6报文结构包括基本头和可选的扩展头,基本头固定40字节,含8个字段,不支持分片,提升了处理效率。扩展头灵活处理选项,长度为8字节的倍数,可包含如路由、分片、认证和安全封装等信息。多个扩展头按特定顺序排列,目的选项头可出现两次。
|
XML Android开发 数据格式
Android AppCompatActivity 方法详解
Android AppCompatActivity 方法详解
682 0