import java.util.Iterator; import java.util.LinkedList; import java.util.Scanner; public class StudentSystem { private static final Scanner s = new Scanner(System.in); private static LinkedList studentList = new LinkedList(); //用集合保存学生数据 private static LinkedList idStudent = new LinkedList(); //这个集合只负责保存学生id //系统页面功能 private static void functionPage() { System.out.println("-----------1、增加学生-----------"); System.out.println("-----------2、查询学生-----------"); System.out.println("-----------3、删除学生-----------"); System.out.println("-----------4、修改学生-----------"); System.out.println("-----------0、退出系统-----------"); System.out.print("请输入:"); } //增加学生 private static void addStudent() { System.out.print("请输入学号:"); String id = s.next(); Iterator it = idStudent.iterator(); //用另一个集合判断学生id是否存在,就是遍历另一个集合 while (it.hasNext()) { Object studentId = it.next(); if (studentId.equals(id)) { System.out.println("学号已存在,请重新输入!"); return; } } idStudent.add(id); //另一个集合只保存学生id,这样才可以判断学号是否冲突 System.out.print("请输入姓名:"); String name = s.next(); System.out.print("请输入年龄:"); int age = s.nextInt(); System.out.print("请输入基本信息:"); String info = s.next(); studentList.add(new StudentAttributes(id, name, age, info)); System.out.println("学生信息添加成功!!"); } //查询学生 private static void studentShowInfo() { //判断集合是否为空 if (studentList.isEmpty()) { System.out.println("暂时还没学生~"); } else { System.out.println("全部学生信息如下:"); int count = 0; for (Object sl : studentList) { System.out.print("编号(" + (++count) + "):"); System.out.println(sl); } } } //删除学生 private static void delStudent() { //判断集合是否为空 if (studentList.isEmpty()) { System.out.println("暂时还没学生~"); } else { System.out.print("请输入要删除学生学号/0退出:"); String id = s.next(); if (id.equals("0")) { System.out.println("已取消!"); return; } else { Iterator it = idStudent.iterator(); int count = 0; while (it.hasNext()) { count++; Object idStu = it.next(); if (idStu.equals(id)) { studentList.remove(count - 1); idStudent.remove(count - 1); //这个写法用于遍历我要删除一次就行,后面元素就不在遍历,因为执行完后就return了 // it.remove(); //这个用于遍历集合所有元素,满足条件就全部删除 System.out.println("删除成功!!"); return; } } System.out.println("没找到该学生学号!"); } } } //修改学生 private static void modifyStudent() { if (studentList.isEmpty()) { System.out.println("暂时还没学生~"); } else { System.out.print("请输入要修改学生学号/0退出:"); String id = s.next(); if (id.equals("0")) { System.out.println("已取消!"); return; } else { Iterator it = idStudent.iterator(); int count = 0; while (it.hasNext()) { count++; Object idStu = it.next(); if (idStu.equals(id)) { System.out.println("该学生信息为:" + studentList.get(count - 1)); System.out.print("请输入修改学号:"); String stuId = s.next(); System.out.print("请输入修改姓名:"); String name = s.next(); System.out.print("请输入修改年龄:"); int age = s.nextInt(); System.out.print("请输入修改基本信息:"); String info = s.next(); studentList.set(count - 1, new StudentAttributes(stuId, name, age, info)); System.out.println("学生信息修改功!!"); return; } } System.out.println("没找到该学生学号!"); } } } //退出系统功能 private static void exit() { System.out.println("感谢使用~"); } public static void main(String[] args) { while (true) { functionPage(); int key = s.nextInt(); switch (key) { case 1: addStudent(); //增加学生 break; case 2: studentShowInfo(); //查询学生 break; case 3: delStudent(); //删除学生 break; case 4: modifyStudent(); //修改学生 break; case 0: exit(); //退出学生系统函数 return; default: System.out.println("输入错误!!请重新输入"); break; } } } }
java基础6-2学生管理系统案例
于 2022-06-11 13:17:10 首次发布