使用集合实现学生信息的增删改查等管理功能的Java源码以及代码解释
以下是使用集合实现学生信息管理功能的Java源码,包括增删改查等操作:
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManagement {
private ArrayList<Student> studentList; // 学生列表
public StudentManagement() {
studentList = new ArrayList<Student>();
}
// 添加学生信息
public void addStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = scanner.nextLine();
System.out.print("请输入学生年龄:");
int age = scanner.nextInt();
scanner.nextLine();
System.out.print("请输入学生性别:");
String gender = scanner.nextLine();
System.out.print("请输入学生班级:");
String className = scanner.nextLine();
Student student = new Student(name, age, gender, className);
studentList.add(student);
System.out.println("添加学生信息成功!");
}
// 删除学生信息
public void deleteStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要删除的学生姓名:");
String name = scanner.nextLine();
for (int i = 0; i < studentList.size(); i++) {
Student student = studentList.get(i);
if (student.getName().equals(name)) {
studentList.remove(i);
System.out.println("删除学生信息成功!");
return;
}
}
System.out.println("没有找到要删除的学生信息!");
}
// 修改学生信息
public void modifyStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要修改的学生姓名:");
String name = scanner.nextLine();
for (int i = 0; i < studentList.size(); i++) {
Student student = studentList.get(i);
if (student.getName().equals(name)) {
System.out.print("请输入学生年龄:");
int age = scanner.nextInt();
scanner.nextLine();
System.out.print("请输入学生性别:");
String gender = scanner.nextLine();
System.out.print("请输入学生班级:");
String className = scanner.nextLine();
student.setAge(age);
student.setGender(gender);
student.setClassName(className);
System.out.println("修改学生信息成功!");
return;
}
}
System.out.println("没有找到要修改的学生信息!");
}
// 查询学生信息
public void queryStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要查询的学生姓名:");
String name = scanner.nextLine();
for (int i = 0; i < studentList.size(); i++) {
Student student = studentList.get(i);
if (student.getName().equals(name)) {
System.out.println("姓名:" + student.getName());
System.out.println("年龄:" + student.getAge());
System.out.println("性别:" + student.getGender());
System.out.println("班级:" + student.getClassName());
return;
}
}
System.out.println("没有找到要查询的学生信息!");
}
// 显示所有学生信息
public void displayAllStudents() {
if (studentList.isEmpty()) {
System.out.println("暂无学生信息!");
} else {
for (int i = 0; i < studentList.size(); i++) {
Student student = studentList.get(i);
System.out.println("姓名:" + student.getName());
System.out.println("年龄:" + student.getAge());
System.out.println("性别:" + student.getGender());
System.out.println("班级:" + student.getClassName());
System.out.println("--------------------");
}
}
}
public static void main(String[] args) {
StudentManagement sm = new StudentManagement();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("**********学生信息管理系统**********");
System.out.println("1.添加学生信息");
System.out.println("2.删除学生信息");
System.out.println("3.修改学生信息");
System.out.println("4.查询学生信息");
System.out.println("5.显示所有学生信息");
System.out.println("0.退出系统");
System.out.print("请输入操作编号:");
int choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 0:
System.out.println("感谢使用学生信息管理系统!");
System.exit(0); // 退出程序
case 1:
sm.addStudent(); // 添加学生信息
break;
case 2:
sm.deleteStudent(); // 删除学生信息
break;
case 3:
sm.modifyStudent(); // 修改学生信息
break;
case 4:
sm.queryStudent(); // 查询学生信息
break;
case 5:
sm.displayAllStudents(); // 显示所有学生信息
break;
default:
System.out.println("请输入正确的操作编号!");
break;
}
}
}
}
代码解释:
- 定义了一个
StudentManagement类,表示学生信息管理系统。 - 在类中定义了一个
ArrayList类型的studentList列表,用于存储学生信息。 - 实现了添加、删除、修改、查询和显示所有学生信息等操作。
- 在
main方法中实现了用户交互界面,根据用户输入的操作编号调用相应的操作。 - 在各个操作方法中,使用
Scanner类获取用户输入的信息,然后根据需要创建Student对象、修改Student对象的属性或者遍历studentList列表查找符合条件的学生信息。 - 在
displayAllStudents方法中,先判断studentList列表是否为空,如果为空则输出提示信息,否则使用for循环遍历studentList列表输出每个学生的信息。 - 在
main方法中使用while循环不断显示用户操作界面,直到用户输入操作编号为0退出程序
原文地址: https://www.cveoy.top/t/topic/d9fM 著作权归作者所有。请勿转载和采集!