我目前正在学习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++;
}
}
答案 0 :(得分:5)
public void Quiz ()
应该是
public Quiz()
以便被视为构造函数并正确初始化您的对象。否则,这是一种你无法调用的方法。