Java数组不存储初始化时提供给它的数据

标签 java arrays netbeans

我是 Java 新手,正在尝试使用 NetBeans 测试一个小测验应用程序。

我正在使用 JRadioButtons 和按钮组来解决多项选择题,我想使用一个数组来存储所有正确答案,如下所示。

private final javax.swing.JRadioButton correctAnswers[]= 
    {radioButtonOption1Question1,radioButtonOption1Question2,
    radioButtonOption1Question3,radioButtonOption1Question4,
    radioButtonOption1Question5,radioButtonOption1Question6};

*编辑,这个数组在 Netbeans 的代码块下,用于初始化我拥有的所有 JFrame 对象,比如单选按钮

然而,每当我调用该数组时,我都会收到一个空指针异常错误,经过进一步调查,我发现该数组只存储了 6 个空值。

这是为什么?谢谢

这也是我运行时发送错误的循环

for(int i= 0;i<= 5;i++){
    if(correctAnswers[i].isSelected()){
    numCorrect++;
    }

    correctAnswers[i].setForeground(Color.green);
}

最佳答案

您可能没有在任何地方初始化单选按钮。请记住,如果您想将它们存储为最终变量,则必须立即执行:

private final radioButtonOption1Question1 = new JRadioButton( [your options here] )

或在您的类的构造函数中。

关于Java数组不存储初始化时提供给它的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24048737/

相关文章:

java - 如何恢复整数?

java - 检索并更新 firebase 中的子数据

java - 恢复文件传输中途失败的文件传输

C++ 二维数组类函数调用帮助

tomcat - EntityManager 注入(inject)不适用于 Tomcat + OpenEJB

java - 如何在java中获取矩阵/数组的转置?

arrays - 如何在 Cobol 中获取数组的大小?

c - 如何使用 sscanf 解析输入行?

java - 如何阻止 Maven 在每次项目运行时解包

java - 当通过 Jar 文件执行时,启动屏幕不显示,但当从 Netbeans IDE 执行时,启动屏幕可以工作