使用list集合模拟学员数据库 建三个类 先进行学员信息初试化 包括功能1.添加学员功能 2.查询全部学员 3.根据学员编号查询 4.根据学员班级名查询 5.根据学员状态查询 6.退出系统 java完整代码
时间: 2024-09-08 11:00:50 浏览: 18
在Java中,我们可以使用`ArrayList`来模拟学员数据库,创建学员信息类(Student),然后创建一个管理类(StudentManager)来处理学员信息的操作。以下是实现上述功能的代码示例:
```java
import java.util.ArrayList;
import java.util.List;
// 学员类
class Student {
private String id; // 学员编号
private String name; // 学员姓名
private String classId; // 班级名
private String status; // 学员状态
public Student(String id, String name, String classId, String status) {
this.id = id;
this.name = name;
this.classId = classId;
this.status = status;
}
// 省略getter和setter方法
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", classId='" + classId + '\'' +
", status='" + status + '\'' +
'}';
}
}
// 学员管理类
class StudentManager {
private List<Student> students = new ArrayList<>();
public void addStudent(Student student) {
students.add(student);
}
public void printAllStudents() {
for (Student student : students) {
System.out.println(student);
}
}
public Student findStudentById(String id) {
for (Student student : students) {
if (student.toString().contains("id='" + id + '\'')) {
return student;
}
}
return null;
}
public List<Student> findStudentsByClassId(String classId) {
List<Student> found = new ArrayList<>();
for (Student student : students) {
if (student.getClassId().equals(classId)) {
found.add(student);
}
}
return found;
}
public List<Student> findStudentsByStatus(String status) {
List<Student> found = new ArrayList<>();
for (Student student : students) {
if (student.getStatus().equals(status)) {
found.add(student);
}
}
return found;
}
public void exitSystem() {
System.exit(0);
}
}
// 主类
public class Main {
public static void main(String[] args) {
StudentManager manager = new StudentManager();
// 学员信息初始化
manager.addStudent(new Student("001", "张三", "计算机科学与技术1班", "在籍"));
manager.addStudent(new Student("002", "李四", "软件工程2班", "在籍"));
manager.addStudent(new Student("003", "王五", "信息安全3班", "毕业"));
// 功能实现
// 1. 添加学员功能(在这里已经初始化时添加了)
// 2. 查询全部学员
manager.printAllStudents();
// 3. 根据学员编号查询
Student studentById = manager.findStudentById("002");
System.out.println(studentById);
// 4. 根据学员班级名查询
List<Student> studentsByClassId = manager.findStudentsByClassId("计算机科学与技术1班");
for (Student s : studentsByClassId) {
System.out.println(s);
}
// 5. 根据学员状态查询
List<Student> studentsByStatus = manager.findStudentsByStatus("毕业");
for (Student s : studentsByStatus) {
System.out.println(s);
}
// 6. 退出系统
manager.exitSystem();
}
}
```
请注意,以上代码是一个简单的示例,用于展示如何使用`ArrayList`来模拟学员数据库的基本操作。在实际应用中,您可能需要考虑更多的功能和异常处理,例如输入的合法性检查、持久化存储等。