我目前正在学习 Java,我想知道为什么这段代码会在下面指示的行处抛出 NullPointerException。 Question对象是一个用户定义的类,在初始化该对象时采用两个字符串作为参数。
public class QuizTime
{
public static void main (String[] args)
{
Quiz qz = new Quiz();
// Throws a NullPointerException
qz.add (new Question ("How may US states are there?", "50"));
}
}
下面是支持类。 NullPointerException 还表明“quiz[count] = q;”行存在问题
import java.util.Scanner;
public class Quiz
{
private Question[] quiz;
private int count;
private final int MAX_QUESTIONS = 25;
public void Quiz ()
{
quiz = new Question[MAX_QUESTIONS];
count = 0;
}
public void add (Question q)
{
if (count < MAX_QUESTIONS)
{
// Throws a NullPointerException
quiz[count] = q;
count++;
}
}
最佳答案
public void Quiz ()
应该是
public Quiz()
为了被视为构造函数并正确初始化您的对象。否则,它是您尚未调用的方法。
关于java - 为什么这个数组初始值设定项会抛出 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23880114/