立志成为黑客 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条)

报告相同问题?

悬赏问题

  • ¥50 ZYNQ7020双核FLAHS烧写的问题
  • ¥20 ue 5 中想要实现第一人称人物左右行走摆动的效果,摄像头只向右摆动一次(关键词-结点)
  • ¥15 钢岔管添加弹性约束模拟围岩作用
  • ¥15 AD9164瞬时带宽1.8G,怎么计算出来?
  • ¥20 为什么安装CSiBridge时出现了这个问题,尝试了很多方法都不行,求详细操作步骤?
  • ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除
  • ¥15 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题