如有需要完整代码的请+v aaa5988689 ------------------------------------------------------------------------------- public class StudentSysterm { public static void main(String[] args) { ArrayList<Student> list = new ArrayList<>(); //这里先定义一个主菜单 loop: 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.println("请输入您的选择:"); //面向对象,键盘输入您的数字 Scanner sc = new Scanner(System.in); String choice = sc.next(); switch (choice) { case "1"-> addStudent(list); case "2"-> removeStudent(list); case "3"-> updataStudent(list); case "4"-> queryStudent(list); case "5"-> {System.out.println("您已经退出学生管理系统"); break loop;} default -> System.out.println("没有这个选项 "); } } } //添加学生 public static void addStudent( ArrayList<Student> list){ //也可以利用空参构造创建学生对象 Student s=new Student(); Scanner sc = null; while (true) { sc = new Scanner(System.in); System.out.println("请输入学生的id:"); String id = sc.next(); boolean flag= contain(list,id); { if(flag){ //表示id已经存在,重新录入 return; }else{ s.setId(id); break; } } } System.out.println("请输入学生的名字:"); String name = sc.next(); s.setName(name); System.out.println("请输入学生的年龄:"); int age = sc.nextInt(); s.setAge(age); System.out.println("请输入学生的家庭住址:"); String address = sc.next(); s.setAddress(address); // Student s=new Student(id,name,age,address); //把学生对象添加到集合当中 list.add(s); //提示 :学生信息添加完成 System.out.println("学生信息录入完成"); } //删除学生 public static void removeStudent( ArrayList<Student> list){ Scanner sc=new Scanner(System.in); System.out.println("请输入你要删除的id"); String id = sc.next(); //查询id在集合中的索引 int Index=getIndex(list,id); //对Index进行判断 //如果大于等于0的,就表示存在,直接删除 if(Index>=0){ list.remove(Index); System.out.println("id为"+id+"的学生删除成功"); }else { //如果-1,就表示不存在,结束方法,回到初始菜单 System.out.println("不存在此id,删除失败"); } } //修改学生 public static void updataStudent( ArrayList<Student> list){} //查询学生 public static void queryStudent( ArrayList<Student> list){ //这里表示集合的长度为0 那么说明没有学生信息 if(list.size()==0){ System.out.println("您好,没有学生信息,请重新输入"); //结束方法 return; } //表头信息 System.out.println("id\t"+"姓名\t"+"年龄\t"+"地址\t"); //假如代码运行到这里,那么说明就是有数据的,那么我们就需要遍历 for (int i = 0; i < list.size() ; i++) { //这里的意思是获取到集合里面的元素/学生数据 Student stu=list.get(i); System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress()); } } //判断id在集合中是否存在 public static boolean contain(ArrayList<Student>list,String id){ /* for (int i = 0; i < list.size() ; i++) { //先拿到学生元素 Student stu=list.get(i); //在获取到ID String sid=stu.getId(); if(sid.equals(id)){ System.out.println("id存在"); return true; } }*/ return getIndex(list,id)>=0; } //通过id获取索引的方法 public static int getIndex(ArrayList<Student>list,String id){ //遍历集合 for (int i = 0; i < list.size() ; i++) { //得到每一个学生对象 Student stu=list.get(i); //得到每一个学生对象id String sid=stu.getId(); //拿着集合中的学生id跟要删除的id进行比较 if(sid.equals(id)){ //如果一样就返回索引 return i; }else{ System.out.println("您想要获取的id不存在"); } } //当循环结束之后还没找到,就表示不存在,返回-1 return -1; } }标签:毕设,java,list,System,学生,源码,println,id,out From: https://blog.csdn.net/Lele0456789/article/details/140692826