2024-09-16

王震_202229001048

案例一:学生信息管理系统

  • 运行、读懂并改变学生管理系统。为StudentsManagementSystemProject添加菜单,有4个功能:
  1. 添加学生(提示输入姓名后创建)
  2. 显示所有学生(使用良好的格式显示)
  3. 查询学生(输入姓名后查询学生)
  4. 退出

程序要求使用Scanner从控制台获取输入。功能1、2、3尝试使用方法简化main方法中的代码。

1 为StudentsManagementSystemProject添加菜单

		ArrayList<Student> list = new ArrayList<>();
        StudentManagementSystem sms = new StudentManagementSystem();
        Scanner scanner = new Scanner(System.in);
        boolean running = true;
        while (running) {
            // Prompt user for input
            System.out.println("Enter 1 to add a student");
            System.out.println("Enter 2 to show all students");
            System.out.println("Enter 3 to search for a student by name");
            System.out.println("Enter 4 to exit");

            // Get user input
            int choice = scanner.nextInt();

            // Process user input
            switch (choice) {
                case 1:
                    // Add a student
                    addStudent(scanner, sms);
                    break;
                case 2:
                    // show all students
                    showAllStudents(scanner, sms);
                    break;
                case 3:
                    // search for a student by name
                    searchStudentByName(scanner, sms);
                    break;
                case 4:
                    System.out.println("System Over!");
                    System.exit(0);
                    break;
            }

        }

1.1 添加学生(提示输入姓名后创建)

private static void addStudent (Scanner scanner, StudentManagementSystem sms){
        System.out.println("Enter student name:");
        String name = scanner.next();
        System.out.println("Enter student age:");
        int age = scanner.nextInt();
        System.out.println("Enter student gender:");
        String gender = scanner.next();
        System.out.println("Enter student ID:");
        String id = scanner.next();
        System.out.println("Enter student major:");
        String major = scanner.next();
        System.out.println("Enter student GPA:");
        double gpa = scanner.nextDouble();
        Student student = new Student(name, age, gender, id, major, gpa);
        sms.addStudent(student);
        System.out.println("Student added successfully!\n");

    }

1.2 显示所有学生(使用良好的格式显示)

private static void showAllStudents(Scanner scanner, StudentManagementSystem sms) {
        List<Student> studentList = sms.getStudents();
        if (studentList.size() == 0) {
            System.out.println("The System Data is empty Now!");
        }else {
            for (Student studentItem : studentList) {
                System.out.println(studentItem.toString());
            }
        }
    }

1.3 查询学生(输入姓名后查询学生)


private static void searchStudentByName (Scanner scanner, StudentManagementSystem sms){
        System.out.println("Enter student name to search:");
        String searchName = scanner.next();
        List<Student> searchResults = sms.searchByName(searchName);
        if (searchResults.isEmpty()) {
            System.out.println("No students found!");
        } else {
            System.out.println("Search results:");
            for (Student s : searchResults) {
                System.out.println(s);
            }
        }
    }

1.4 退出

case 4:
                    System.out.println("System Over!");
                    System.exit(0);
                    break;

项目原始代码中,当我们在控制台输入“1”时,通过switch语句跳转到的case 1中代码如下:

case 1:
   // Add a student
   System.out.println("Enter student name:");
   String name = scanner.next();
   System.out.println("Enter student age:");
   int age = scanner.nextInt();
   System.out.println("Enter student gender:");
   String gender = scanner.next();
   System.out.println("Enter student ID:");
   String id = scanner.next();
   System.out.println("Enter student major:");
   String major = scanner.next();
   System.out.println("Enter student GPA:");
   double gpa = scanner.nextDouble();
   Student student = new Student(name, age, gender, id, major, gpa);
   sms.addStudent(student);
   System.out.println("Student added successfully!\n");
   break;

这使得Main方法变得过于冗长,我选择使用建立方法来对Main方法中的代码进行简化

2 程序测试

2.1 功能1实现

在这里插入图片描述

2.2 功能2实现

在这里插入图片描述

2.3 功能3实现

在这里插入图片描述

2.4 功能4实现

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值