java - 为什么这个数组初始值设定项会抛出 NullPointerException?

标签 java arrays nullpointerexception

我目前正在学习 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/

相关文章:

arrays - Julia 中的未初始化数组

java - 为什么我会收到 NullPointerException

java - 什么是NullPointerException,我该如何解决?

java - 尝试运行 .jar 文件时出现 NullPointerException

java - 在 .jar 中发布 xml 但在 eclipse 中发布时不会出现 "Invalid byte 1 of 1-byte UTF-8 sequence"

java - LibGdx 摧毁一个 body

c - 从 C 到 D 的数组指针

java - Java 的简历设计模式

java - android:SharedPreferences不保存数据

arrays - 使用带有附加参数的自定义规则验证 Laravel 中的数组