2401_88084319 2025-06-14 13:20 采纳率: 80%
浏览 5

学生名单管理,这个怎么解决

使用ArrayList实现一个学生名单管理,能够添加学生、删除学生、查找学生和显示所有学生

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2025-06-14 13:23
    关注

    下午好🌅🌅🌅
    本答案参考通义千问

    要使用 ArrayList 实现一个学生名单管理系统,可以按照以下步骤进行设计和实现。以下是详细的解决方案:

    解决方案

    1. 定义学生类
      创建一个 Student 类来存储学生的相关信息(如学号、姓名等)。

    2. 创建学生名单管理类
      使用 ArrayList 来存储学生对象,并实现添加、删除、查找和显示学生的方法。

    3. 主程序逻辑
      提供一个简单的用户界面或控制台菜单,让用户可以选择不同的操作。


    代码实现

    1. 定义学生类 (Student.java)

    public class Student {
        private String id; // 学号
        private String name; // 姓名
    
        public Student(String id, String name) {
            this.id = id;
            this.name = name;
        }
    
        public String getId() {
            return id;
        }
    
        public String getName() {
            return name;
        }
    
        @Override
        public String toString() {
            return "学号: " + id + ", 姓名: " + name;
        }
    }
    

    2. 创建学生名单管理类 (StudentManager.java)

    import java.util.ArrayList;
    
    public class StudentManager {
        private ArrayList<Student> students; // 存储学生对象的列表
    
        public StudentManager() {
            students = new ArrayList<>();
        }
    
        // 添加学生
        public void addStudent(Student student) {
            students.add(student);
            System.out.println("学生已成功添加!");
        }
    
        // 删除学生
        public boolean removeStudent(String id) {
            for (int i = 0; i < students.size(); i++) {
                if (students.get(i).getId().equals(id)) {
                    students.remove(i);
                    System.out.println("学生已成功删除!");
                    return true;
                }
            }
            System.out.println("未找到该学生!");
            return false;
        }
    
        // 查找学生
        public Student findStudent(String id) {
            for (Student student : students) {
                if (student.getId().equals(id)) {
                    System.out.println("学生信息如下:");
                    return student;
                }
            }
            System.out.println("未找到该学生!");
            return null;
        }
    
        // 显示所有学生
        public void displayAllStudents() {
            if (students.isEmpty()) {
                System.out.println("当前没有学生记录!");
            } else {
                System.out.println("当前学生名单:");
                for (Student student : students) {
                    System.out.println(student);
                }
            }
        }
    }
    

    3. 主程序逻辑 (Main.java)

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            StudentManager manager = new StudentManager();
    
            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("请选择操作(1-5):");
    
                int choice = scanner.nextInt();
                scanner.nextLine(); // 清除换行符
    
                switch (choice) {
                    case 1:
                        System.out.print("请输入学号:");
                        String id = scanner.nextLine();
                        System.out.print("请输入姓名:");
                        String name = scanner.nextLine();
                        manager.addStudent(new Student(id, name));
                        break;
    
                    case 2:
                        System.out.print("请输入要删除的学生学号:");
                        String removeId = scanner.nextLine();
                        manager.removeStudent(removeId);
                        break;
    
                    case 3:
                        System.out.print("请输入要查找的学生学号:");
                        String findId = scanner.nextLine();
                        manager.findStudent(findId);
                        break;
    
                    case 4:
                        manager.displayAllStudents();
                        break;
    
                    case 5:
                        System.out.println("退出系统!");
                        scanner.close();
                        System.exit(0);
    
                    default:
                        System.out.println("无效选择,请重新输入!");
                }
            }
        }
    }
    

    运行示例

    1. 启动程序后,会显示菜单:

      学生名单管理系统
      1. 添加学生
      2. 删除学生
      3. 查找学生
      4. 显示所有学生
      5. 退出
      
    2. 用户选择操作,例如选择 1 添加学生:

      请选择操作(1-5):1
      请输入学号:S1001
      请输入姓名:张三
      学生已成功添加!
      
    3. 再次选择 4 显示所有学生:

      请选择操作(1-5):4
      当前学生名单:
      学号: S1001, 姓名: 张三
      
    4. 选择 3 查找学生:

      请选择操作(1-5):3
      请输入要查找的学生学号:S1001
      学生信息如下:
      学号: S1001, 姓名: 张三
      
    5. 最后选择 5 退出系统。


    总结

    通过上述代码实现了学生名单管理的基本功能:

    • 添加学生:将学生对象添加到 ArrayList 中。
    • 删除学生:根据学号查找并移除对应的学生对象。
    • 查找学生:根据学号查找学生信息。
    • 显示所有学生:遍历 ArrayList 并输出所有学生信息。

    这种方法简单易懂,适合初学者学习和使用。如果需要更复杂的功能(如持久化存储),可以进一步扩展。

    评论

报告相同问题?

问题事件

  • 已采纳回答 6月14日
  • 创建了问题 6月14日