java代码实现中学生ATM信息管理系统
时间: 2023-05-21 19:06:48 浏览: 76
非常感谢您的提问!以下是一个基于 Java 的学生 ATM 信息管理系统的示例代码:
```
import java.util.Scanner;
public class StudentATM {
public static void main(String[] args) {
// 创建一个 Scanner 对象,用于接收用户输入
Scanner scanner = new Scanner(System.in);
// 在程序启动时,提示用户输入初始密码
System.out.print("请输入初始密码:");
String password = scanner.nextLine();
// 定义一个数组,用于存储学生信息
String[][] students = new String[][] {
{ "1001", "张三", "男", "18", "计算机科学与技术" },
{ "1002", "李四", "女", "19", "软件工程" },
{ "1003", "王五", "男", "20", "信息安全" }
};
// 进入主循环
while (true) {
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.print("请输入操作编号:");
int option = scanner.nextInt();
scanner.nextLine();
switch (option) {
case 1: {
// 查询学生信息
System.out.print("请输入学生 ID:");
String id = scanner.nextLine();
int index = findStudentIndex(students, id);
if (index == -1) {
System.out.println("找不到该学生!");
} else {
printStudentInfo(students[index]);
}
break;
}
case 2: {
// 修改学生信息
System.out.print("请输入学生 ID:");
String id = scanner.nextLine();
int index = findStudentIndex(students, id);
if (index == -1) {
System.out.println("找不到该学生!");
} else {
System.out.print("请输入修改后的姓名:");
String name = scanner.nextLine();
System.out.print("请输入修改后的性别:");
String gender = scanner.nextLine();
System.out.print("请输入修改后的年龄:");
String age = scanner.nextLine();
System.out.print("请输入修改后的专业:");
String major = scanner.nextLine();
students[index][1] = name;
students[index][2] = gender;
students[index][3] = age;
students[index][4] = major;
System.out.println("修改成功!");
}
break;
}
case 3: {
// 添加学生信息
System.out.print("请输入学生 ID:");
String id = scanner.nextLine();
int index = findStudentIndex(students, id);
if (index != -1) {
System.out.println("该学生已存在!");
} else {
System.out.print("请输入姓名:");
String name = scanner.nextLine();
System.out.print("请输入性别:");
String gender = scanner.nextLine();
System.out.print("请输入年龄:");
String age = scanner.nextLine();
System.out.print("请输入专业:");
String major = scanner.nextLine();
String[] newStudent = new String[] { id, name, gender, age, major };
students = addStudent(students, newStudent);
System.out.println("添加成功!");
}
break;
}
case 4: {
// 删除学生信息
System.out.print("请输入学生 ID:");
String id = scanner.nextLine();
int index = findStudentIndex(students, id);
if (index == -1) {
System.out.println("找不到该学生!");
} else {
students = removeStudent(students, index);
System.out.println("删除成功!");
}
break;
}
case 5: {
// 退出程序
System.out.println("谢谢使用,再见!");
return;
}
default: {
System.out.println("无效的操作编号,请重新输入!");
}
}
}
}
/**
* 查找指定 ID 的学生在数组中的下标
*/
private static int findStudentIndex(String[][] students, String id) {
for (int i = 0; i < students.length; i++) {
if (students[i][0].equals(id)) {
return i;
}
}
return -1;
}
/**
* 打印学生信息
*/
private static void printStudentInfo(String[] student) {
System.out.println("学号:" + student[0]);
System.out.println("姓名:" + student[1]);
System.out.println("性别:" + student[2]);
System.out.println("年龄:" + student[3]);
System.out.println("专业:" + student[4]);
}
/**
* 在数组末尾添加一个学生并返回新数组
*/
private static String[][] addStudent(String[][] students, String[] newStudent) {
String[][] newStudents = new String[students.length + 1][5];
for (int i = 0; i < students.length; i++) {
newStudents[i] = students[i];
}
newStudents[students.length] = newStudent;
return newStudents;
}
/**
* 从数组中移除指定下标的学生并返回新数组
*/
private static String[][] removeStudent(String[][] students, int index) {
String[][] newStudents = new String[students.length - 1][5];
for (int i = 0, j = 0; i < students.length; i++) {
if (i != index) {
newStudents[j++] = students[i];
}
}
return newStudents;
}
}
```
希望这个程序能够帮助您实现学生 ATM 信息管理系统。