import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Scanner; public class CourseSelectionSystem { // 定义一个Map来存储学生选课信息 private static Map<String, List<String>> studentCourseMap = new HashMap<>(); public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (true) { System.out.println("请选择操作:1.查询学生选课信息 2.删除学生选课信息 3.存储学生选课信息 4.退出"); int choice = scanner.nextInt(); switch (choice) { case 1: queryStudentCourse(); break; case 2: deleteStudentCourse(); break; case 3: storeStudentCourse(); break; case 4: System.exit(0); break; default: System.out.println("无效的选择,请重新输入"); break; } } } // 查询学生选课信息 private static void queryStudentCourse() { Scanner scanner = new Scanner(System.in); System.out.println("请输入学生姓名:"); String name = scanner.nextLine(); if (studentCourseMap.containsKey(name)) { List<String> courses = studentCourseMap.get(name); System.out.println(name + "选课情况如下:"); for (String course : courses) { System.out.println(course); } } else { System.out.println(name + "没有选课"); } } // 删除学生选课信息 private static void deleteStudentCourse() { Scanner scanner = new Scanner(System.in); System.out.println("请输入学生姓名:"); String name = scanner.nextLine(); if (studentCourseMap.containsKey(name)) { System.out.println("请输入要删除的课程名称:"); String course = scanner.nextLine(); 增加一个更改学生选课的功能
时间: 2024-02-10 09:17:05 浏览: 27
好的,我可以为你增加一个更改学生选课的功能。你可以在菜单中再加一个选项,比如说“5.更改学生选课信息”。然后你可以在switch语句中新增一个case 5的分支,实现更改学生选课信息的功能。
具体实现方法可以参考下面的代码:
```
// 更改学生选课信息
private static void updateStudentCourse() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
if (studentCourseMap.containsKey(name)) {
System.out.println("请输入要更改的课程名称:");
String oldCourse = scanner.nextLine();
System.out.println("请输入新的课程名称:");
String newCourse = scanner.nextLine();
List<String> courses = studentCourseMap.get(name);
if (courses.contains(oldCourse)) {
courses.remove(oldCourse);
courses.add(newCourse);
System.out.println(name + "的选课信息已更新");
} else {
System.out.println(name + "没有选择" + oldCourse + "这门课程");
}
} else {
System.out.println(name + "没有选课");
}
}
// 存储学生选课信息
private static void storeStudentCourse() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入选课信息,多门课程用逗号隔开:");
String courseStr = scanner.nextLine();
List<String> courses = new ArrayList<>();
String[] courseArray = courseStr.split(",");
for (String course : courseArray) {
courses.add(course.trim());
}
studentCourseMap.put(name, courses);
System.out.println(name + "的选课信息已存储");
}
```
这个updateStudentCourse()方法可以让用户输入要更改的学生姓名、要更改的课程名称和新的课程名称,然后检查该学生是否已经选了这门课程,如果有则将其更改为新的课程名称,否则提示用户该学生没有选择要更改的课程。最后输出更改结果。注意要在storeStudentCourse()方法中将学生选课信息存储到Map中。