Java 学生信息管理系统:使用集合实现增删改查
下面是一个使用集合实现学生信息的增删改查等管理功能的 Java 代码示例:
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManagementSystem {
private ArrayList<Student> students;
public StudentManagementSystem() {
students = new ArrayList<>();
}
public void addStudent(Student student) {
students.add(student);
}
public void removeStudent(Student student) {
students.remove(student);
}
public void updateStudent(Student oldStudent, Student newStudent) {
int index = students.indexOf(oldStudent);
students.set(index, newStudent);
}
public Student findStudent(String id) {
for (Student student : students) {
if (student.getId().equals(id)) {
return student;
}
}
return null;
}
public void printAllStudents() {
for (Student student : students) {
System.out.println(student.toString());
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StudentManagementSystem system = new StudentManagementSystem();
while (true) {
System.out.println('请选择操作:1.添加学生;2.删除学生;3.修改学生;4.查找学生;5.显示所有学生;6.退出');
int choice = scanner.nextInt();
scanner.nextLine(); // 读取换行符
switch (choice) {
case 1:
System.out.println('请输入学生信息(格式:姓名,学号,年龄,性别):');
String[] studentInfo = scanner.nextLine().split(',');
Student student = new Student(studentInfo[0], studentInfo[1], Integer.parseInt(studentInfo[2]), studentInfo[3]);
system.addStudent(student);
break;
case 2:
System.out.println('请输入要删除的学生学号:');
String id = scanner.nextLine();
Student studentToRemove = system.findStudent(id);
if (studentToRemove != null) {
system.removeStudent(studentToRemove);
System.out.println('删除成功!');
} else {
System.out.println('未找到该学生!');
}
break;
case 3:
System.out.println('请输入要修改的学生学号:');
String oldId = scanner.nextLine();
Student oldStudent = system.findStudent(oldId);
if (oldStudent != null) {
System.out.println('请输入新的学生信息(格式:姓名,学号,年龄,性别):');
String[] newStudentInfo = scanner.nextLine().split(',');
Student newStudent = new Student(newStudentInfo[0], newStudentInfo[1], Integer.parseInt(newStudentInfo[2]), newStudentInfo[3]);
system.updateStudent(oldStudent, newStudent);
System.out.println('修改成功!');
} else {
System.out.println('未找到该学生!');
}
break;
case 4:
System.out.println('请输入要查找的学生学号:');
String searchId = scanner.nextLine();
Student foundStudent = system.findStudent(searchId);
if (foundStudent != null) {
System.out.println(foundStudent.toString());
} else {
System.out.println('未找到该学生!');
}
break;
case 5:
system.printAllStudents();
break;
case 6:
System.out.println('谢谢使用!');
System.exit(0);
default:
System.out.println('输入错误,请重新输入!');
}
}
}
}
代码解释:
Student类表示学生信息,包含姓名、学号、年龄和性别等属性,以及获取和设置这些属性的方法。StudentManagementSystem类表示学生信息管理系统,包含添加、删除、修改、查找和显示所有学生信息的方法,以及一个ArrayList成员变量用于存储学生信息。- 在
main方法中,使用Scanner类读取用户输入的操作选项,并根据选项调用相应的方法实现相应的功能。 - 在添加、删除和修改学生信息时,先使用
Scanner类读取用户输入的学生信息或学生学号,然后调用相应的方法实现操作。 - 在查找学生信息时,先使用
Scanner类读取用户输入的学生学号,然后调用findStudent方法查找学生信息,如果找到了就打印学生信息,否则提示未找到。 - 在显示所有学生信息时,调用
printAllStudents方法打印所有学生信息。 - 在
switch语句中,如果用户输入的选项不在1-6之间,就提示输入错误,让用户重新输入。
原文地址: https://www.cveoy.top/t/topic/nNG4 著作权归作者所有。请勿转载和采集!