用java二维数组写班级管理系统
时间: 2023-11-13 19:04:55 浏览: 34
抱歉,我是一名语言模型,无法编写代码。但我可以提供一个班级管理系统的示例,供您参考。
import java.util.Scanner;
public class ClassManagementSystem {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 初始化班级信息
String[][] students = {
{"001", "张三", "男", "18"},
{"002", "李四", "女", "19"},
{"003", "王五", "男", "20"},
{"004", "赵六", "女", "21"},
{"005", "钱七", "男", "22"}
};
// 输出菜单
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("6. 退出系统");
// 循环执行操作
while (true) {
System.out.print("请输入您要执行的操作编号:");
int choice = scanner.nextInt();
switch (choice) {
case 1:
// 查看所有学生信息
System.out.println("学号\t姓名\t性别\t年龄");
for (String[] student : students) {
System.out.println(student[0] + "\t" + student[1] + "\t" + student[2] + "\t" + student[3]);
}
break;
case 2:
// 添加学生信息
System.out.print("请输入学生信息(学号 姓名 性别 年龄):");
String[] newStudent = scanner.next().split(" ");
students = addStudent(students, newStudent);
System.out.println("添加成功!");
break;
case 3:
// 删除学生信息
System.out.print("请输入要删除的学生的学号:");
String studentId = scanner.next();
students = deleteStudent(students, studentId);
System.out.println("删除成功!");
break;
case 4:
// 修改学生信息
System.out.print("请输入要修改的学生的学号:");
String id = scanner.next();
System.out.print("请输入修改后的学生信息(姓名 性别 年龄,用空格分隔):");
String[] studentInfo = scanner.next().split(" ");
students = updateStudent(students, id, studentInfo);
System.out.println("修改成功!");
break;
case 5:
// 查询学生信息
System.out.print("请输入要查询的学生的学号:");
String studentId2 = scanner.next();
String[] studentInfo2 = findStudent(students, studentId2);
if (studentInfo2 == null) {
System.out.println("学生不存在!");
} else {
System.out.println("学号\t姓名\t性别\t年龄");
System.out.println(studentInfo2[0] + "\t" + studentInfo2[1] + "\t" + studentInfo2[2] + "\t" + studentInfo2[3]);
}
break;
case 6:
// 退出系统
System.out.println("感谢使用班级管理系统!");
System.exit(0);
default:
System.out.println("输入的操作编号有误,请重新输入!");
}
}
}
/**
* 添加学生信息
*
* @param students 班级学生信息数组
* @param newStudent 新学生信息数组
* @return 新的班级学生信息数组
*/
public static String[][] addStudent(String[][] students, String[] newStudent) {
String[][] newStudents = new String[students.length + 1][4];
for (int i = 0; i < students.length; i++) {
newStudents[i] = students[i];
}
newStudents[students.length] = newStudent;
return newStudents;
}
/**
* 删除学生信息
*
* @param students 班级学生信息数组
* @param studentId 要删除的学生学号
* @return 新的班级学生信息数组
*/
public static String[][] deleteStudent(String[][] students, String studentId) {
String[][] newStudents = new String[students.length - 1][4];
int index = 0;
for (String[] student : students) {
if (!student[0].equals(studentId)) {
newStudents[index] = student;
index++;
}
}
return newStudents;
}
/**
* 修改学生信息
*
* @param students 班级学生信息数组
* @param studentId 要修改的学生学号
* @param studentInfo 修改后的学生信息数组
* @return 新的班级学生信息数组
*/
public static String[][] updateStudent(String[][] students, String studentId, String[] studentInfo) {
for (String[] student : students) {
if (student[0].equals(studentId)) {
student[1] = studentInfo[0];
student[2] = studentInfo[1];
student[3] = studentInfo[2];
break;
}
}
return students;
}
/**
* 查询学生信息
*
* @param students 班级学生信息数组
* @param studentId 要查询的学生学号
* @return 学生信息数组
*/
public static String[] findStudent(String[][] students, String studentId) {
for (String[] student : students) {
if (student[0].equals(studentId)) {
return student;
}
}
return null;
}
}