是什么导致此异常?循环的构造函数是否不必要? import java.util.*; 公共类用户输入{ 公共静态void main(字符串[]args){ 扫描仪输入=新扫描仪(System.in); System.out.println(“你们班有多少学生?”); Student.n=input.nextInt(); ArrayList manyStudents=新的ArrayList(); 对于(int i=0;i

是什么导致此异常?循环的构造函数是否不必要? import java.util.*; 公共类用户输入{ 公共静态void main(字符串[]args){ 扫描仪输入=新扫描仪(System.in); System.out.println(“你们班有多少学生?”); Student.n=input.nextInt(); ArrayList manyStudents=新的ArrayList(); 对于(int i=0;i,java,Java,,您需要实例化数组,例如: Exception in thread "main" java.lang.NullPointerException at Student.<init>(Student.java:15) at UserInput.main(UserInput.java:9) 在您可以使用第一个[i]之前。对于最后一个&co也是如此 另外,您似乎期望f=kb.next()正在执行某些操作,但它在当前代码中没有执行任何操作。这不是编译错误。这是

,您需要实例化数组,例如:

Exception in thread "main" java.lang.NullPointerException
        at Student.<init>(Student.java:15)
        at UserInput.main(UserInput.java:9)
在您可以使用
第一个[i]
之前。对于
最后一个
&co也是如此


另外,您似乎期望
f=kb.next()
正在执行某些操作,但它在当前代码中没有执行任何操作。

这不是编译错误。这是一个运行时异常。很有趣!您是否知道,如果不在开始时仅计算一次条件,循环将无法工作?
        import java.util.*;
        public class Student {
            public static String []  first;
            public static String [] last;
            public static String [] HKID;
            public static String[] SID;
            public static int []Exam;
            public static int n;


            public Student (String f, String l, String h, String s, int e){
                Scanner kb= new Scanner(System.in);
                for(int i=0;i<n;i++){
                    System.out.println("First name:");
                    first[i]=f= kb.next();
                    System.out.println("Last name:");
                    last[i]=l=kb.next();
                    System.out.println("HKID:");
                    HKID[i]=h=kb.next();
                    System.out.println("SID:");
                    SID[i]=s=kb.next();
                    System.out.println("Final exam score:");
                    Exam[i]=e=kb.nextInt();
                }
            }

            public String[] getFirst(){return first;}
            public String [] getLast(){return last;}
            public String [] getHKID(){return HKID;}
            public String [] getSID(){return SID;}
            public int [] getExam(){return Exam;}
            public void setFirst(String [] f){f=first;}
            public void setLast(String [] l){l=last;}
            public void setHKID(String [] h){h=HKID;}
            public void setSID(String [] s){s= SID;}
            public void setExam(int [] e){e=Exam;}
        }
Exception in thread "main" java.lang.NullPointerException
        at Student.<init>(Student.java:15)
        at UserInput.main(UserInput.java:9)
first = new String[n];