【问题标题】:NullPointerException occurring with arrays数组发生 NullPointerException
【发布时间】:2013-06-27 12:57:28
【问题描述】:

我正在用 Java 制作一个二维数组:

     import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class board {


    public static void main(String[] args) {
        JFrame window = new JFrame ("Chess");
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setVisible(true);
        window.setSize(600, 600);

        JButton tiles[][] = new JButton[8][8];
        tiles[0][0].setVisible(true);






    }

}

但是当我运行程序时,我得到了这个错误:

board.main(board.java:9) 处的线程“main”java.lang.NullPointerException 中的异常

出了什么问题?

【问题讨论】:

    标签: java arrays string nullpointerexception chess


    【解决方案1】:

    初始化数组

     static String boardL[][] = new String[5][5];
    

    如果不初始化数组,则引用null 如果您尝试在不创建数组对象的情况下访问索引,您将得到NullPointerException

    【讨论】:

      【解决方案2】:

      您尚未初始化boardL[][] 数组。 初始化如下,

      static String boardL [][]=new String[10][10];
      

      然后使用它。

      【讨论】:

        【解决方案3】:

        你必须对数组做的三件事你不能忘记它:

        1. 声明int a[]这是声明数组的方法。
        2. 初始化a= new int[size]这是初始化数组的方法。
        3. 分配a [I] = 2 并分配给某事。

        第一个和第二个非常重要,除非你必须预料到两种错误:

        • NullPointerException
        • IndexOutOfBoundsException

        如果您没有将第三个分配给任何文字或引用变量,则默认为第三个。

        或者:您可以将三个步骤合二为一:

        int [] a = {1,4,65,39};

        【讨论】:

          【解决方案4】:

          使用维度初始化数组(在本例中为 1):

          boardL = new String[1][1];
          

          如果您希望数组的尺寸为 x x y:

          boardL = new String[x][y];
          

          【讨论】:

            猜你喜欢
            • 2017-11-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-11-29
            • 2013-02-16
            • 1970-01-01
            相关资源
            最近更新 更多