创建一个java学生管理系统并写出案例
时间: 2023-07-31 18:12:40 浏览: 45
学生管理系统java示例
好的,以下是一个简单的 Java 学生管理系统的实现,包括添加学生、删除学生、修改学生信息、查询学生信息等基本功能。
```java
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManagementSystem {
private ArrayList<Student> students;
public StudentManagementSystem() {
students = new ArrayList<Student>();
}
public void addStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = scanner.nextLine();
System.out.print("请输入学生学号:");
String id = scanner.nextLine();
System.out.print("请输入学生年龄:");
int age = scanner.nextInt();
System.out.print("请输入学生性别:");
String gender = scanner.next();
System.out.print("请输入学生班级:");
String clazz = scanner.next();
students.add(new Student(name, id, age, gender, clazz));
System.out.println("添加学生成功!");
}
public void deleteStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要删除的学生学号:");
String id = scanner.nextLine();
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
if (student.getId().equals(id)) {
students.remove(i);
System.out.println("删除学生成功!");
return;
}
}
System.out.println("没有找到该学生!");
}
public void modifyStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要修改的学生学号:");
String id = scanner.nextLine();
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
if (student.getId().equals(id)) {
System.out.print("请输入学生姓名(原来的值为 " + student.getName() + "):");
String name = scanner.nextLine();
System.out.print("请输入学生年龄(原来的值为 " + student.getAge() + "):");
int age = scanner.nextInt();
System.out.print("请输入学生性别(原来的值为 " + student.getGender() + "):");
String gender = scanner.next();
System.out.print("请输入学生班级(原来的值为 " + student.getClazz() + "):");
String clazz = scanner.next();
student.setName(name);
student.setAge(age);
student.setGender(gender);
student.setClazz(clazz);
System.out.println("修改学生信息成功!");
return;
}
}
System.out.println("没有找到该学生!");
}
public void queryStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要查询的学生学号或姓名:");
String keyword = scanner.nextLine();
boolean found = false;
for (int i = 0; i < students.size(); i++) {
Student student = students.get(i);
if (student.getId().contains(keyword) || student.getName().contains(keyword)) {
System.out.println(student);
found = true;
}
}
if (!found) {
System.out.println("没有找到匹配的学生!");
}
}
public void menu() {
System.out.println("欢迎使用学生管理系统!");
System.out.println("1. 添加学生");
System.out.println("2. 删除学生");
System.out.println("3. 修改学生信息");
System.out.println("4. 查询学生信息");
System.out.println("5. 退出系统");
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("请选择操作(1-5):");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addStudent();
break;
case 2:
deleteStudent();
break;
case 3:
modifyStudent();
break;
case 4:
queryStudent();
break;
case 5:
System.out.println("谢谢使用!");
return;
default:
System.out.println("无效的选择,请重新输入!");
break;
}
}
}
public static void main(String[] args) {
StudentManagementSystem system = new StudentManagementSystem();
system.menu();
}
}
class Student {
private String name;
private String id;
private int age;
private String gender;
private String clazz;
public Student(String name, String id, int age, String gender, String clazz) {
this.name = name;
this.id = id;
this.age = age;
this.gender = gender;
this.clazz = clazz;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getClazz() {
return clazz;
}
public void setClazz(String clazz) {
this.clazz = clazz;
}
@Override
public String toString() {
return "学生信息:姓名=" + name + ", 学号=" + id + ", 年龄=" + age + ", 性别=" + gender + ", 班级=" + clazz;
}
}
```
在这个例子中,我们使用 `java.util.Scanner` 和标准输入输出流 `System.in` 和 `System.out` 分别实现用户输入和程序输出。在 `StudentManagementSystem` 类中,我们定义了一个 `ArrayList` 类型的 `students` 成员变量来存储学生对象。然后,我们实现了 `addStudent`、`deleteStudent`、`modifyStudent` 和 `queryStudent` 四个方法来分别实现添加、删除、修改和查询学生信息的功能。最后,我们实现了一个 `menu` 方法来显示菜单,并根据用户的选择调用相应的方法。
在 `main` 方法中,我们创建了一个 `StudentManagementSystem` 对象,并调用其 `menu` 方法来启动程序。在 `Student` 类中,我们定义了学生姓名、学号、年龄、性别和班级等属性,并提供了相应的 get 和 set 方法。为了方便输出学生信息,我们还重写了 `toString` 方法。
这只是一个简单的实现,具体实现过程需要根据实际情况进行调整和优化。
阅读全文