运用java实现学生管理系统,该系统具备添加元素、删除元素、修改元素、查询元素的功能。 要求进行界面设计,通过输入数字,调用方法实现对应功能。
时间: 2024-02-11 09:08:35 浏览: 46
好的,学生管理系统是一个非常经典的Java小项目。下面是该系统的基本设计和实现流程:
1. 系统设计
(1) 学生类(Student):包括学生的姓名、学号、性别、出生日期、所在学院等信息。
(2) 界面类(StudentUI):通过控制台或者Swing框架实现学生信息的添加、删除、修改和查询等操作。
(3) 数据类(Data):实现对学生信息的存储,可以使用数组、集合或者文件等方式实现。
(4) 控制类(StudentController):负责调用数据类中的方法,对学生信息进行管理。
2. 系统实现
(1) 学生类的实现
```java
public class Student {
private String name;
private String id;
private String gender;
private String birthday;
private String college;
public Student(String name, String id, String gender, String birthday, String college) {
this.name = name;
this.id = id;
this.gender = gender;
this.birthday = birthday;
this.college = college;
}
// getter和setter方法省略
}
```
(2) 界面类的实现
可以通过控制台或者Swing框架实现,以下是一个简单的控制台界面的实现。
```java
public class StudentUI {
private StudentController controller;
public StudentUI(StudentController controller) {
this.controller = controller;
}
public void showMenu() {
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("===================================");
}
public void addStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入学生学号:");
String id = scanner.nextLine();
System.out.println("请输入学生性别:");
String gender = scanner.nextLine();
System.out.println("请输入学生出生日期:");
String birthday = scanner.nextLine();
System.out.println("请输入学生所在学院:");
String college = scanner.nextLine();
Student student = new Student(name, id, gender, birthday, college);
controller.add(student);
System.out.println("添加成功!");
}
public void deleteStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除学生的学号:");
String id = scanner.nextLine();
controller.delete(id);
System.out.println("删除成功!");
}
public void updateStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改学生的学号:");
String id = scanner.nextLine();
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入学生性别:");
String gender = scanner.nextLine();
System.out.println("请输入学生出生日期:");
String birthday = scanner.nextLine();
System.out.println("请输入学生所在学院:");
String college = scanner.nextLine();
Student student = new Student(name, id, gender, birthday, college);
controller.update(student);
System.out.println("修改成功!");
}
public void queryStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要查询学生的学号:");
String id = scanner.nextLine();
Student student = controller.query(id);
if (student == null) {
System.out.println("未找到该学生!");
} else {
System.out.println("学生信息如下:");
System.out.println(student.toString());
}
}
}
```
(3) 数据类的实现
可以使用数组、集合或者文件等方式实现,以下是一个简单的数组实现方式。
```java
public class Data {
private static Student[] students = new Student[100];
private static int size = 0;
public static void add(Student student) {
students[size++] = student;
}
public static void delete(String id) {
for (int i = 0; i < size; i++) {
if (students[i].getId().equals(id)) {
for (int j = i; j < size - 1; j++) {
students[j] = students[j + 1];
}
students[--size] = null;
break;
}
}
}
public static void update(Student student) {
for (int i = 0; i < size; i++) {
if (students[i].getId().equals(student.getId())) {
students[i].setName(student.getName());
students[i].setGender(student.getGender());
students[i].setBirthday(student.getBirthday());
students[i].setCollege(student.getCollege());
break;
}
}
}
public static Student query(String id) {
for (int i = 0; i < size; i++) {
if (students[i].getId().equals(id)) {
return students[i];
}
}
return null;
}
}
```
(4) 控制类的实现
```java
public class StudentController {
private StudentUI ui;
public StudentController(StudentUI ui) {
this.ui = ui;
}
public void add(Student student) {
Data.add(student);
}
public void delete(String id) {
Data.delete(id);
}
public void update(Student student) {
Data.update(student);
}
public Student query(String id) {
return Data.query(id);
}
public void run() {
Scanner scanner = new Scanner(System.in);
while (true) {
ui.showMenu();
int choice = scanner.nextInt();
switch (choice) {
case 1:
ui.addStudent();
break;
case 2:
ui.deleteStudent();
break;
case 3:
ui.updateStudent();
break;
case 4:
ui.queryStudent();
break;
case 5:
System.exit(0);
default:
System.out.println("输入有误,请重新输入!");
}
}
}
}
```
3. 系统测试和完善
在测试过程中,可以发现系统中的一些bug,并逐步完善和优化系统。同时,也可以根据需要进行界面和代码的美化。
以上是学生管理系统的基本设计和实现流程,希望能对您有所帮助。
阅读全文