答案:系统实现学生信息管理,包含添加、查询、显示、删除及成绩统计功能。通过Student类封装数据,用ArrayList存储对象,Scanner接收输入,完成基础操作交互。

用Java制作一个简易的考试成绩管理系统,可以帮你管理学生信息和成绩数据。这个系统不需要数据库,使用集合类存储数据,适合初学者练习面向对象编程和基础控制结构。下面一步步说明如何实现。
1. 系统功能设计
一个基础的成绩管理系统应具备以下功能:
- 添加学生信息:包括姓名、学号、各科成绩
- 查询成绩:按学号或姓名查找
- 显示所有学生信息:打印全部记录
- 计算平均分和总分:对单个学生或全班统计
- 删除学生记录:按学号移除数据
2. 创建学生类(Student)
定义一个Student类来封装学生的基本信息和操作:
public class Student {
private String id;
private String name;
private double math;
private double english;
private double computer;
public Student(String id, String name, double math, double english, double computer) {
this.id = id;
this.name = name;
this.math = math;
this.english = english;
this.computer = computer;
}
// Getter 和 Setter 方法
public String getId() { return id; }
public String getName() { return name; }
public double getTotal() { return math + english + computer; }
public double getAverage() { return getTotal() / 3; }
@Override
public String toString() {
return "学号:" + id + ",姓名:" + name +
",数学:" + math + ",英语:" + english +
",计算机:" + computer +
",总分:" + getTotal() + ",平均分:" + String.format("%.2f", getAverage());
}
}
3. 主程序界面与功能实现
使用Scanner接收用户输入,结合ArrayList存储多个学生对象:
立即学习“Java免费学习笔记(深入)”;
import java.util.*;
public class GradeSystem {
private static List students = new ArrayList<>();
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
while (true) {
System.out.println("\n=== 考试成绩管理系统 ===");
System.out.println("1. 添加学生");
System.out.println("2. 查询学生");
System.out.println("3. 显示所有学生");
System.out.println("4. 删除学生");
System.out.println("5. 退出");
System.out.print("请选择操作:");
int choice = scanner.nextInt();
switch (choice) {
case 1: addStudent(); break;
case 2: findStudent(); break;
case 3: showAll(); break;
case 4: deleteStudent(); break;
case 5: System.out.println("退出系统。"); return;
default: System.out.println("无效选择,请重试。");
}
}
}
private static void addStudent() {
System.out.print("请输入学号:"); String id = scanner.next();
System.out.print("请输入姓名:"); String name = scanner.next();
System.out.print("请输入数学成绩:"); double math = scanner.nextDouble();
System.out.print("请输入英语成绩:"); double english = scanner.nextDouble();
System.out.print("请输入计算机成绩:"); double computer = scanner.nextDouble();
students.add(new Student(id, name, math, english, computer));
System.out.println("学生添加成功!");
}
private static void findStudent() {
System.out.print("请输入要查询的学号:"); String id = scanner.next();
for (Student s : students) {
if (s.getId().equals(id)) {
System.out.println(s);
return;
}
}
System.out.println("未找到该学生!");
}
private static void showAll() {
if (students.isEmpty()) {
System.out.println("暂无学生数据。");
} else {
for (Student s : students) {
System.out.println(s);
}
}
}
private static void deleteStudent() {
System.out.print("请输入要删除的学号:"); String id = scanner.next();
Iterator it = students.iterator();
while (it.hasNext()) {
if (it.next().getId().equals(id)) {
it.remove();
System.out.println("删除成功!");
return;
}
}
System.out.println("未找到该学生,无法删除。");
}
}
4. 扩展建议
如果想进一步提升系统功能,可以考虑:
- 加入文件读写功能,用txt保存数据
- 增加成绩排序(按总分从高到低)
- 统计班级平均分、最高分、最低分
- 使用HashMap以学号为键加快查找速度
- 加入输入合法性校验(如成绩范围0~100)










