答案:通过设计Student类和GradeManager类实现增删改查功能,使用ArrayList管理学生信息,并提供控制台菜单进行交互操作。

开发一个简易成绩管理系统在Java中可以通过面向对象的方式实现,重点是设计合理的类结构和基础的增删改查功能。下面是一个简单但完整的实现思路和代码示例。
1. 设计学生与成绩类(Student)
系统的核心是学生信息的管理,每个学生包含姓名、学号和成绩。可以创建一个Student类来封装这些属性。
public class Student { private String id; // 学号 private String name; // 姓名 private double score; // 成绩 public Student(String id, String name, double score) { this.id = id; this.name = name; this.score = score; } // Getter 和 Setter 方法 public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getScore() { return score; } public void setScore(double score) { this.score = score; } @Override public String toString() { return "学号: " + id + ", 姓名: " + name + ", 成绩: " + score; }}
2. 成绩管理功能类(GradeManager)
使用ArrayList存储学生对象,并提供添加、删除、修改、查询和显示所有学生的方法。
import java.util.ArrayList;import java.util.Scanner;public class GradeManager { private ArrayList students = new ArrayList(); private Scanner scanner = new Scanner(System.in); // 添加学生 public void addStudent() { System.out.print("输入学号: "); String id = scanner.nextLine(); System.out.print("输入姓名: "); String name = scanner.nextLine(); System.out.print("输入成绩: "); double score = Double.parseDouble(scanner.nextLine()); students.add(new Student(id, name, score)); System.out.println("学生添加成功!"); } // 根据学号删除学生 public void removeStudent() { System.out.print("输入要删除的学号: "); String id = scanner.nextLine(); boolean removed = students.removeIf(student -> student.getId().equals(id)); if (removed) { System.out.println("删除成功!"); } else { System.out.println("未找到该学号的学生。"); } } // 修改学生信息 public void updateStudent() { System.out.print("输入要修改的学号: "); String id = scanner.nextLine(); for (Student s : students) { if (s.getId().equals(id)) { System.out.print("新姓名: "); s.setName(scanner.nextLine()); System.out.print("新成绩: "); s.setScore(Double.parseDouble(scanner.nextLine())); System.out.println("信息更新成功!"); return; } } System.out.println("未找到该学生。"); } // 查询学生信息 public void findStudent() { System.out.print("输入学号查询: "); String id = scanner.nextLine(); for (Student s : students) { if (s.getId().equals(id)) { System.out.println(s); return; } } System.out.println("未找到该学生。"); } // 显示所有学生 public void showAllStudents() { if (students.isEmpty()) { System.out.println("暂无学生信息。"); } else { for (Student s : students) { System.out.println(s); } } } // 主菜单 public void start() { 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.println("6. 退出"); System.out.print("请选择操作: "); String choice = scanner.nextLine(); switch (choice) { case "1" -> addStudent(); case "2" -> removeStudent(); case "3" -> updateStudent(); case "4" -> findStudent(); case "5" -> showAllStudents(); case "6" -> { System.out.println("退出系统。"); return; } default -> System.out.println("无效选择,请重试。"); } } }}
3. 主程序入口(Main)
创建主类启动系统。
立即学习“Java免费学习笔记(深入)”;
public class Main { public static void main(String[] args) { GradeManager manager = new GradeManager(); manager.start(); }}
4. 功能扩展建议
当前系统基于控制台,数据不持久化。可考虑以下优化:
将数据保存到文件(如txt或CSV),使用BufferedReader/Writer读写 加入成绩合法性校验(比如0~100之间) 增加按成绩排序功能(Collections.sort) 使用HashMap以学号为键加快查找速度 后续可升级为图形界面(Swing或JavaFX)
基本上就这些。这个系统适合初学者理解类、对象、集合和基本输入输出操作。结构清晰,易于理解和扩展。
以上就是在Java中如何开发简易成绩管理系统的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/10960.html
微信扫一扫
支付宝扫一扫