猿问

Java入门第三季第五章的5-2学生选课中判断学生ID是否被占用Student st = students.get(ID),抛出异常如何解决?求解答?

 public void testPut() {
        // 创建一个Scanner对象,用于输入学生的ID和姓名
        Scanner console = new Scanner(System.in);
        int i = 0;
        while (i < 3) {
            System.out.println("请输入学生的ID:");
            String ID = console.next();
            // 判断ID是否被占用
            Student st = students.get(ID);     出现java.lang.NullPointerException

            if (st == null) {
                System.out.println("请输入学生的姓名:");
                String studentName = console.next();
                // 创建新学生对象
                Student newStudent = new Student(ID,studentName);
                // 通过调用Students的put方法,添加ID-学生映射
                students.put(ID, newStudent);
                System.out.println("成功添加学生:" + students.get(ID).name);
                i++;
            } else {
                System.out.println("该学生的ID已经被占用!");
                continue;
            }
        }
    }

艾科技
浏览 1560回答 1
1回答

Wang_Yu

应该是students未初始化。
随时随地看视频慕课网APP

相关分类

Java
我要回答