学生管理系统修改学生如何修改单个信息?

问题遇到的现象和发生背景 :初学者跟着视频做一个学生管理系统,利用集合储存学生信息,一个学生相当于一个元素,现在想修改学生单个信息,不知如何。
问题相关代码,请勿粘贴截图
import java.util.ArrayList;
import java.util.Scanner;

public class lx {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<Student> array = new ArrayList<Student>();
        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("请输入你的选择:>");
            int i = sc.nextInt();
            switch (i) {
                case 1: {
                    addStudent(array);
                    break;
                }
                case 2: {
                    deleteStudent(array);
                    break;
                }
                case 3: {
                    System.out.println("3.修改学生信息");
                    break;
                }
                case 4: {
                    findStudent(array);
                    break;
                }
                case 5: {
                    System.out.println("5.退出");
                    System.exit(0);
                }
            }
        }
    }
//修改学生信息
    public static void updateStudent(ArrayList<Student> array){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入修改学生的学号");
        String sid = sc.nextLine();
        int n = 0;
        for(int i=0;i<array.size();i++){
            Student s = array.get(i);
            if(s.getSid().equals(sid)){
                System.out.println("请输入想要修改的信息:>");
                System.out.println("1.姓名");
                System.out.println("2.年龄");
                System.out.println("3.地址");
                System.out.println("4.全部");
                int m =sc.nextInt();
                switch (m){
                    case 1:{
                        System.out.println("请输入新姓名");
                        String name = sc.nextLine();
                    }
                    case 2:{
                        System.out.println("请输入新年龄");
                        String age = sc.nextLine();
                    }
                    case 3:{
                        System.out.println("请输入新住址");
                        String address =sc.nextLine();
                    }
                    case 4:{
                        System.out.println("请输入新姓名");
                        String name = sc.nextLine();
                        System.out.println("请输入新年龄");
                        String age = sc.nextLine();
                        System.out.println("请输入新住址");
                        String address =sc.nextLine();
                    }
                }
            }
        }
    }
}
运行结果及报错内容 :没有运行。
我的解答思路和尝试过的方法 :没有思路。
我想要达到的结果:可以修改单个学生信息。

每个学生的学号是唯一的,修改单个学生,就让他输入学号,然后遍历你的集合,按学号找到这个学生,然后就能修改了
有帮助点个采纳

现在的代码可以做到修改单人呀
28 行的break前面加一个 updateStudent(array);
不然会直接退出程序

img

img


这里的代码少一个修改信息的updateStudent(array);
没有的话,你输入3,打印输出3.修改学生信息, 就结束了!
如有帮助,感谢采纳!