用java实现以下案例:在一所学校中,对学生人员流动的管理是很麻烦的,本案例要求编写一个学生管理系统,实现对学生信息的添加、删除、修改和查询功能。系统首页及每个功能的具体要求如下。 (1)系统首页:用于显示系统所有的操作,并根据用户在控制台的输人选择需要使用的功能。 (2)查询功能:用户选择该功能后,在控制台打印所有学生的信息。 (3)添加功能:用户选择该功能后,要求用户在控制台输人学生学号、姓名、年龄和居住地的基本信息在输人学号时,判断学号是否被占用,如果被占用则添加失败,并给出相应的提示;反之则提示添加成功(4)删除功能:用户选择该功能后,提示用户在控制台输人需要删除学生的学号,如果用户输人的学号 存在则提示删除成功,反之则提示删除失败。 (5)修改功能:用户选择该功能后,提示用户在控制台输人需要修改的学生学号、姓名、年龄和居住地学生信息,并使用输人的学生学号判断是否有此人,如果有则修改原有的学生信息,反之则提示需要修改的学生信息不存在。 (6)退出功能:用户选择该功能后,程序正常关闭。本案例要求使用 List 集合存储自定义的对象,使用 List 集合中的常用方法实现相关的操作 6
时间: 2024-03-15 10:45:05 浏览: 91
以下是实现学生管理系统的Java代码:
```
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class StudentManagementSystem {
private static List<Student> students = new ArrayList<>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean isExit = false;
while (!isExit) {
System.out.println("请选择需要使用的功能:");
System.out.println("1. 查询学生信息");
System.out.println("2. 添加学生信息");
System.out.println("3. 删除学生信息");
System.out.println("4. 修改学生信息");
System.out.println("5. 退出程序");
String choice = scanner.nextLine();
switch (choice) {
case "1":
queryStudentInformation();
break;
case "2":
addStudentInformation(scanner);
break;
case "3":
deleteStudentInformation(scanner);
break;
case "4":
updateStudentInformation(scanner);
break;
case "5":
isExit = true;
break;
default:
System.out.println("输入有误,请重新输入!");
}
}
}
private static void queryStudentInformation() {
System.out.println("所有学生的信息如下:");
for (Student student : students) {
System.out.println(student.toString());
}
}
private static void addStudentInformation(Scanner scanner) {
System.out.println("请输入学生学号:");
String id = scanner.nextLine();
boolean isIdExists = false;
for (Student student : students) {
if (student.getId().equals(id)) {
isIdExists = true;
break;
}
}
if (isIdExists) {
System.out.println("该学号已存在,添加失败!");
} else {
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入学生年龄:");
String age = scanner.nextLine();
System.out.println("请输入学生居住地:");
String address = scanner.nextLine();
Student student = new Student(id, name, age, address);
students.add(student);
System.out.println("添加成功!");
}
}
private static void deleteStudentInformation(Scanner scanner) {
System.out.println("请输入需要删除的学生学号:");
String id = scanner.nextLine();
boolean isDeleteSuccess = false;
for (Student student : students) {
if (student.getId().equals(id)) {
students.remove(student);
isDeleteSuccess = true;
System.out.println("删除成功!");
break;
}
}
if (!isDeleteSuccess) {
System.out.println("该学号不存在,删除失败!");
}
}
private static void updateStudentInformation(Scanner scanner) {
System.out.println("请输入需要修改的学生学号:");
String id = scanner.nextLine();
boolean isUpdateSuccess = false;
for (Student student : students) {
if (student.getId().equals(id)) {
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入学生年龄:");
String age = scanner.nextLine();
System.out.println("请输入学生居住地:");
String address = scanner.nextLine();
student.setName(name);
student.setAge(age);
student.setAddress(address);
isUpdateSuccess = true;
System.out.println("修改成功!");
break;
}
}
if (!isUpdateSuccess) {
System.out.println("该学号不存在,修改失败!");
}
}
}
class Student {
private String id;
private String name;
private String age;
private String address;
public Student(String id, String name, String age, String address) {
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
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 String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "学号:" + id + ",姓名:" + name + ",年龄:" + age + ",居住地:" + address;
}
}
```
使用 List 集合存储自定义的 Student 对象,实现了查询、添加、删除、修改和退出功能。在添加学生信息时,判断输入的学号是否已经存在;在删除和修改学生信息时,先用学号查找该学生是否存在。
阅读全文