是什么导致此异常?循环的构造函数是否不必要? 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];