为什么程序到了输入学号就整个跳出了方法,下面的都没执行。

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("无相关学生数据无法删除");
        }
    }
}