用Java写一个学生管理系统,其功能包括增加学员信息,查找学员信息,更新学员信息,删除学员信息,退出系统等(注:需要用到单例模式,并且信息存储要用数组)
时间: 2023-05-28 08:07:13 浏览: 137
以下是一个简单的学生管理系统的Java代码示例:
```
import java.util.Scanner;
public class StudentManager {
private static StudentManager instance = new StudentManager(); // 单例模式
private Student[] students = new Student[100]; // 学生信息存储数组
private int count = 0; // 学生数量计数器
private StudentManager() {} // 私有构造函数
public static StudentManager getInstance() { // 获取单例实例
return instance;
}
public void addStudent() { // 增加学员信息
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = scanner.nextLine();
System.out.print("请输入学生年龄:");
int age = scanner.nextInt();
System.out.print("请输入学生性别:");
String gender = scanner.next();
students[count++] = new Student(name, age, gender);
System.out.println("添加成功!");
}
public void findStudent() { // 查找学员信息
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要查找的学生姓名:");
String name = scanner.nextLine();
for (int i = 0; i < count; i++) {
if (students[i].getName().equals(name)) {
System.out.println("找到了该学生的信息:");
System.out.println(students[i]);
return;
}
}
System.out.println("未找到该学生!");
}
public void updateStudent() { // 更新学员信息
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要更新的学生姓名:");
String name = scanner.nextLine();
for (int i = 0; i < count; i++) {
if (students[i].getName().equals(name)) {
System.out.print("请输入学生新的年龄:");
int age = scanner.nextInt();
System.out.print("请输入学生新的性别:");
String gender = scanner.next();
students[i].setAge(age);
students[i].setGender(gender);
System.out.println("更新成功!");
return;
}
}
System.out.println("未找到该学生!");
}
public void deleteStudent() { // 删除学员信息
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要删除的学生姓名:");
String name = scanner.nextLine();
for (int i = 0; i < count; i++) {
if (students[i].getName().equals(name)) {
for (int j = i; j < count - 1; j++) {
students[j] = students[j + 1];
}
students[--count] = null;
System.out.println("删除成功!");
return;
}
}
System.out.println("未找到该学生!");
}
public void exitSystem() { // 退出系统
System.out.println("退出系统!");
System.exit(0);
}
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. 退出系统");
}
public void run() { // 运行学生管理系统
Scanner scanner = new Scanner(System.in);
while (true) {
showMenu();
System.out.print("请选择操作:");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addStudent();
break;
case 2:
findStudent();
break;
case 3:
updateStudent();
break;
case 4:
deleteStudent();
break;
case 5:
exitSystem();
break;
default:
System.out.println("无效的操作!");
break;
}
}
}
public static void main(String[] args) {
StudentManager.getInstance().run();
}
}
class Student {
private String name;
private int age;
private String gender;
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
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;
}
@Override
public String toString() {
return "姓名:" + name + ",年龄:" + age + ",性别:" + gender;
}
}
```
这个学生管理系统使用了单例模式实现,保证了整个程序中只有一个实例对象。学生信息存储使用了数组,最多可以存储100个学生信息。每个学生信息包括姓名、年龄、性别三个属性。程序运行时会先显示一个菜单,根据用户的选择执行相应的操作,包括增加学员信息、查找学员信息、更新学员信息、删除学员信息和退出系统。用户可以根据需要反复执行这些操作,直到选择退出系统。
阅读全文