使用Java编程实现如下内容: 学生管理系统 在一所学校中,对学生人员流动的管理是很麻烦的,本案例要求编写一个学生管理系统,实现对学生信息的添加、删除、修改和查询功能。本案例要求使用List集合存储自定义的对象,使用List集合的中常用方法实现相关的操作。
时间: 2024-05-12 15:19:34 浏览: 71
以下是一个简单的学生管理系统的Java代码示例:
```java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class StudentManagementSystem {
private List<Student> studentList;
public StudentManagementSystem() {
studentList = new ArrayList<Student>();
}
public void addStudent(Student student) {
studentList.add(student);
}
public void deleteStudent(Student student) {
studentList.remove(student);
}
public void updateStudent(Student student) {
for (int i = 0; i < studentList.size(); i++) {
if (studentList.get(i).getId() == student.getId()) {
studentList.set(i, student);
break;
}
}
}
public void searchStudent(int id) {
for (Student student : studentList) {
if (student.getId() == id) {
System.out.println(student);
return;
}
}
System.out.println("未找到该学生!");
}
public void displayAll() {
Iterator<Student> it = studentList.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
public static void main(String[] args) {
StudentManagementSystem sms = new StudentManagementSystem();
Scanner sc = new Scanner(System.in);
int choice = 0;
do {
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("请选择操作:");
choice = sc.nextInt();
switch (choice) {
case 1:
System.out.print("请输入学生ID:");
int id = sc.nextInt();
System.out.print("请输入学生姓名:");
String name = sc.next();
System.out.print("请输入学生年龄:");
int age = sc.nextInt();
sms.addStudent(new Student(id, name, age));
System.out.println("添加成功!");
break;
case 2:
System.out.print("请输入要删除的学生ID:");
id = sc.nextInt();
sms.deleteStudent(new Student(id, "", 0));
System.out.println("删除成功!");
break;
case 3:
System.out.print("请输入要修改的学生ID:");
id = sc.nextInt();
System.out.print("请输入修改后的学生姓名:");
name = sc.next();
System.out.print("请输入修改后的学生年龄:");
age = sc.nextInt();
sms.updateStudent(new Student(id, name, age));
System.out.println("修改成功!");
break;
case 4:
System.out.print("请输入要查询的学生ID:");
id = sc.nextInt();
sms.searchStudent(id);
break;
case 5:
sms.displayAll();
break;
case 0:
System.out.println("程序已退出!");
break;
default:
System.out.println("输入有误,请重新选择!");
break;
}
} while (choice != 0);
sc.close();
}
}
class Student {
private int id;
private String name;
private int age;
public Student(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String toString() {
return "ID:" + id + ",姓名:" + name + ",年龄:" + age;
}
}
```
该程序使用了List集合存储自定义的Student对象,并通过不同的方法实现了对学生信息的添加、删除、修改和查询功能。在主函数中,使用了Scanner类获取用户输入,通过switch语句实现了不同的操作。程序运行结果如下:
```
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.显示所有学生信息
0.退出
请选择操作:1
请输入学生ID:1
请输入学生姓名:Alice
请输入学生年龄:18
添加成功!
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.显示所有学生信息
0.退出
请选择操作:1
请输入学生ID:2
请输入学生姓名:Bob
请输入学生年龄:19
添加成功!
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.显示所有学生信息
0.退出
请选择操作:5
ID:1,姓名:Alice,年龄:18
ID:2,姓名:Bob,年龄:19
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.显示所有学生信息
0.退出
请选择操作:4
请输入要查询的学生ID:1
ID:1,姓名:Alice,年龄:18
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.显示所有学生信息
0.退出
请选择操作:3
请输入要修改的学生ID:2
请输入修改后的学生姓名:Bob Smith
请输入修改后的学生年龄:20
修改成功!
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.显示所有学生信息
0.退出
请选择操作:5
ID:1,姓名:Alice,年龄:18
ID:2,姓名:Bob Smith,年龄:20
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.显示所有学生信息
0.退出
请选择操作:2
请输入要删除的学生ID:1
删除成功!
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.显示所有学生信息
0.退出
请选择操作:5
ID:2,姓名:Bob Smith,年龄:20
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.显示所有学生信息
0.退出
请选择操作:0
程序已退出!
```
阅读全文