立志成为黑客 2021-04-24 13:40 采纳率: 68.3%
浏览 89
已采纳

【JAVA】学生管理系统,调用方法时候出现not null提示,运行了以后方法无效

package 复习试炼场;

import java.util.ArrayList;
import java.util.Scanner;

public class Student {
    public static void main(String[] args) {
        ArrayList<StudentDemo> array=new ArrayList<StudentDemo>();
        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 line = sc.nextLine();
        switch (line){
            case "1":
//                System.out.println("添加成功");
                addStudent(array);
                break;
            case "2":
                System.out.println("删除成功");
                break;
            case "3":
                findStudent(array);
                System.out.println("查看成功");
                break;
            case "4":
                System.out.println("修改成功");
                break;
            case "5":
                System.out.println("退出学生管理系统");
                System.exit(0);
        }
    }
}
    public static void addStudent(ArrayList<StudentDemo> array){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你的学号:");
        String sid = sc.nextLine();
        System.out.println("请输入你的姓名:");
        String name = sc.nextLine();
        System.out.println("请输入你的年龄:");
        String age = sc.nextLine();
        System.out.println("请输入你的居住地:");
        String adress = sc.nextLine();
        StudentDemo s=new StudentDemo();
        s.setSid(sid);
        s.setName(name);
        s.setAge(age);
        s.setAdress(adress);
    }
    public static void findStudent(ArrayList<StudentDemo> array){
        for(int i=0;i<array.size();i++){
            System.out.println("学号\t姓名\t年龄\t居住地");
            StudentDemo s=array.get(i);
            System.out.println(s.getSid()+"\t"+s.getName()+"\t"+s.getAge()+"岁"+s.getAdress());
        }
    }
}
package 复习试炼场;

public class StudentDemo {
        private String sid;
        private String name;
        private String age;
        private String adress;
        public StudentDemo() {
        }
        public StudentDemo(String sid, String name, String age, String adress) {
                this.sid = sid;
                this.name = name;
                this.age = age;
                this.adress = adress;
        }
        public String getSid() {
                return sid;
        }

        public void setSid(String sid) {
                this.sid = sid;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public String getAge() {
                return age;
        }

        public void setAge(String age) {
                this.age = age;
        }

        public String getAdress() {
                return adress;
        }

        public void setAdress(String adress) {
                this.adress = adress;
        }
}
  • 写回答

5条回答 默认 最新

  • sinJack 2021-04-25 08:39
    关注
    package 复习试炼场;
    import java.util.ArrayList;
    import java.util.Scanner;
    public class Student {
        public static void main(String[] args) {
            ArrayList<StudentDemo> array=new ArrayList<StudentDemo>();
            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 line = sc.nextLine();
            switch (line){
                case "1":
    //                System.out.println("添加成功");
                    addStudent(array);
                    break;
                case "2":
                    System.out.println("删除成功");
                    break;
                case "3":
                    findStudent(array);
                    System.out.println("查看成功");
                    break;
                case "4":
                    System.out.println("修改成功");
                    break;
                case "5":
                    System.out.println("退出学生管理系统");
                    System.exit(0);
            }
        }
    }
        public static void addStudent(ArrayList<StudentDemo> array){
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入你的学号:");
            String sid = sc.nextLine();
            System.out.println("请输入你的姓名:");
            String name = sc.nextLine();
            System.out.println("请输入你的年龄:");
            String age = sc.nextLine();
            System.out.println("请输入你的居住地:");
            String adress = sc.nextLine();
            StudentDemo s=new StudentDemo();
            s.setSid(sid);
            s.setName(name);
            s.setAge(age);
            s.setAdress(adress);
            array.add(s);
        }
        public static void findStudent(ArrayList<StudentDemo> array){
            for(int i=0;i<array.size();i++){
                System.out.println("学号\t姓名\t年龄\t居住地");
                StudentDemo s=array.get(i);
                System.out.println(s.getSid()+"\t"+s.getName()+"\t"+s.getAge()+"岁"+s.getAdress());
            }
        }
    }
    

    你的问题在于添加学生的时候,没有往集合中存学生对象,在添加学生的方法最后加array.add(s);就行了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料