Java 学生管理系统
今天简单练习了一下 数组和循环的一些知识,写了一个小游戏,大致如下
/** * 一个小功能:学生管理系统 * 1、添加学生信息 * 2、显示学生信息 * 3、删除学生信息 * 4、修改学生信息 * 5、查看学生信息 * 6、排序 * 7、退出 */ public class StudentManage { public static void main(String[] args) { Integer[] studentId = new Integer[100]; Integer[] studentScore = new Integer[100]; String[] studentName = new String[100]; int mumber = 0; Integer studentCount = 0; int time = 0; System.out.println("欢迎进入学生管理系统\n1、添加学生信息\n2、显示学生信息\n3、删除学生西悉尼\n4、修改学生信息\n5、查询学生信息\n6、排序\n7、退出"); while (true) { System.out.println("请输入操作信息:"); Scanner scanner = new Scanner(System.in); int number = scanner.nextInt(); switch (number) { case 1: studentCount = add(studentId, studentName, studentScore, studentCount); System.out.println("添加成功"); break; case 2: display(studentId, studentName, studentScore, studentCount); break; case 3: studentCount = delete(studentId, studentName, studentScore, studentCount); case 4: update(studentId, studentName, studentScore, studentCount); break; case 5: select(studentId, studentName, studentScore, studentCount); break; case 6: sort(studentId, studentName, studentScore, studentCount); break; case 7: System.exit(0); break; default: System.out.println("请正确输入(1~7)的数字"); } } } /** * 功能描述:添加学生信息 * * @param studentId * @param studentName * @param studentScore * @param studentCount * @return */ public static Integer add(Integer[] studentId, String[] studentName, Integer[] studentScore, Integer studentCount) { System.out.println("请输入学生ID"); Scanner scan = new Scanner(System.in); studentId[studentCount] = scan.nextInt(); System.out.println("请输入学习姓名"); studentName[studentCount] = scan.next(); System.out.println("请输入学生成绩"); studentScore[studentCount] = scan.nextInt(); studentCount++; return studentCount; } /** * 功能描述: 显示学生信息 * * @param studentId * @param studentName * @param studentScore * @param studentCount */ public static void display(Integer[] studentId, String[] studentName, Integer[] studentScore, Integer studentCount) { System.out.println("学号" + "\t姓名" + "\t成绩\n"); for (int i = 0; i < studentCount; i++) { System.out.println(studentId[i] + "\t" + studentName[i] + "\t" + studentScore[i]); ; } } /** * 功能描述:删除学生信息 * * @param studentId * @param studentName * @param studentScore * @param studentCount * @return */ public static Integer delete(Integer[] studentId, String[] studentName, Integer[] studentScore, Integer studentCount) { Integer select = select(studentId, studentName, studentScore, studentCount); System.out.println("确定删除学生信息吗?(y/n)"); Scanner scanner = new Scanner(System.in); char next = scanner.next().trim().toLowerCase().charAt(0); switch (next) { case 'n': System.out.println("您已经需求删除操作了..."); break; case 'y': for (int i = 0; i < studentCount; i++) { if (i < studentCount - 1) { studentId[i] = studentId[i + 1]; studentName[i] = studentName[i + 1]; studentScore[i] = studentScore[i + 1]; } studentId[i] = null; studentName[i] = null; studentScore[i] = null; return studentCount--; } } return studentCount; } /** * 功能描述:查询学生信息 * * @param studentId * @param studentName * @param studentScore * @param studentCount * @return */ public static Integer select(Integer[] studentId, String[] studentName, Integer[] studentScore, Integer studentCount) { System.out.println("请输入学习姓名"); Scanner scanner = new Scanner(System.in); String queryStudentName = scanner.next(); for (int i = 0; i < studentCount; i++) { if (queryStudentName.trim().equals(studentName[i].trim())) { System.out.println("学号" + "\t姓名" + "\t成绩"); System.out.println(studentId[i] + "\t" + studentName[i] + "\t" + studentScore[i]); return studentId[i]; } } return null; } /** * 功能描述:修改学生信息 * * @param studentId * @param studentName * @param studentScore * @param studentCount */ public static void update(Integer[] studentId, String[] studentName, Integer[] studentScore, Integer studentCount) { Integer select = select(studentId, studentName, studentScore, studentCount); if (select == null) { System.out.println("你输入的信息有误,请重新输入"); } else { System.out.println("请输入新学号"); Scanner scanner = new Scanner(System.in); studentId[select] = scanner.nextInt(); System.out.println("请输入新学生姓名"); studentName[select] = scanner.next().trim(); System.out.println("请输入新学生成绩"); studentScore[select] = scanner.nextInt(); System.out.println("修改完成"); } } /** * 功能描述: 排序 * * @param studentId * @param studentName * @param studentScore * @param studentCount */ public static void sort(Integer[] studentId, String[] studentName, Integer[] studentScore, Integer studentCount) { System.out.println("请选择排序规则:1、按学号排序,2、按成绩排序"); Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); switch (num) { case 1: for (int i = 0; i < studentCount; i++) { for (int j = 0; j < studentCount - i - 1; j++) { if (studentId[j] > studentId[j + 1]) { int temp = studentId[j]; studentId[j] = studentId[j + 1]; studentId[j = 1] = temp; temp = studentScore[j]; studentScore[j] = studentScore[j + 1]; studentScore[j + 1] = temp; String s = studentName[j]; studentName[j] = studentName[j + 1]; studentName[j + 1] = s; } } } display(studentId, studentName, studentScore, studentCount); break; case 2: for (int i = 0; i < studentCount; i++) { for (int j = 0; j < studentCount - i - 1; j++) { if (studentScore[j] > studentScore[j + 1]) { int temp = studentId[j]; studentId[j] = studentId[j + 1]; studentId[j = 1] = temp; temp = studentScore[j]; studentScore[j] = studentScore[j + 1]; studentScore[j + 1] = temp; String s = studentName[j]; studentName[j] = studentName[j + 1]; studentName[j + 1] = s; } } } display(studentId, studentName, studentScore, studentCount); break; default: System.out.println("输入错误,退出程序"); } } }