一、对源代码的分析
1.1功能讲解
分为如下四个功能模块
1 add a student
2 show all students
3 search for a student by name
4 exit
二、改变功能
1.要求
为为StudentsManagementSystemProject添加菜单,有4个功能:
2.Main函数
代码如下(示例):
package code;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StudentManagementSystem sms = new StudentManagementSystem();
boolean running = true;
while (running) {
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");
int choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1:
addStudent(scanner, sms);
break;
case 2:
searchStudent(scanner, sms);
break;
case 3:
displayAllStudents(sms);
break;
case 4:
System.out.println("Exiting the program...");
scanner.close();
running = false;
break;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
private static void addStudent(Scanner scanner, StudentManagementSystem sms) {
System.out.print("Enter student name: ");
String name = scanner.nextLine();
System.out.print("Enter student age: ");
int age = scanner.nextInt();
scanner.nextLine(); // Consume newline
System.out.print("Enter student gender: ");
String gender = scanner.nextLine();
System.out.print("Enter student ID: ");
String id = scanner.nextLine();
System.out.print("Enter student major: ");
String major = scanner.nextLine();
System.out.print("Enter student GPA: ");
double gpa = scanner.nextDouble();
scanner.nextLine(); // Consume newline
Student student = new Student(name, age, gender, id, major, gpa);
sms.addStudent(student);
System.out.println("Student added successfully!\n");
}
private static void searchStudent(Scanner scanner, StudentManagementSystem sms) {
System.out.print("Enter student name to search: ");
String searchName = scanner.nextLine();
List<Student> searchResults = sms.searchByName(searchName);
if (searchResults.isEmpty()) {
System.out.println("No students found with that name.\n");
} else {
System.out.println("Search results:");
for (Student student : searchResults) {
System.out.println(student);
}
}
}
private static void displayAllStudents(StudentManagementSystem sms) {
List<Student> students = sms.getAllStudents();
if (students.isEmpty()) {
System.out.println("There are no students to display.\n");
} else {
System.out.println("All students:");
for (Student student : students) {
System.out.println(student);
}
}
}
}