public static void deleteStudent(ArrayList arr) { Scanner sc = new Scanner(System.in); System.out.println("希望通过什么方式查找到学生并删除"); System.out.println("1.学号,2.名字,3.年龄,4.成绩 "); int a = sc.nextInt(); switch (a) { case 1: for (int i = 0; i < arr.size(); i++) { System.out.println("输入学号"); studentSac s = (studentSac) arr.get(i); String flat =sc.next(); if (flat.equals(s.getNum())) { System.out.println(s.getNum() + "," + s.getName() + "," + s.getAge() + "," + s.getFen()); System.out.println("已删除"); } else { if (i == arr.size()) { System.out.println("无相关学生数据无法删除"); } } } case 2: } }
你的arr是咋写的?我在我电脑上只有找不到学号的时候才会不执行,还有arr循环遍历,这样写的话如果十个学生会连续十次要求输入学号吧,是不是应该改成这样?
System.out.println("输入学号"); String flat =sc.next();
for (int i = 0; i < arr.size(); i++) { studentSac s = (studentSac) arr.get(i); if (flat.equals(s.getNum())) { System.out.println(s.getNum() + "," + s.getName() + "," + s.getAge() + "," + s.getFen()); System.out.println("已删除"); } else { if (i == arr.size()) { System.out.println("无相关学生数据无法删除"); } } }