使用2D对象数组处理时的NullPointerExeption

时间:2018-04-02 21:12:05

标签: processing

我正在处理中创建一个小游戏,我正在尝试打印方形对象的2D数组。我有这个YYYY-MM-DD,我似乎无法在网上找到类似的内容。

NullPointerException

和矩形类

int edge = 10;
public int sizeOfRect = 50;
public int numberOfRects = 10;
Rectangle[][] player = new Rectangle[numberOfRects][numberOfRects];
public int k;
public int l;
public int kcount=0;
public int lcount=0;

void setup(){
    background(200);
    size(565, 565);
}
void draw(){
    for(k=edge; k<width-edge; k+=55){
        for(l=edge; l<height-edge; l+=55){
            player[kcount][lcount].display();
            lcount++;
        }
        lcount=0;
        kcount++;
    }
    kcount=0;
}

最后是异常

  

Plain.pde:17:0:17:0:NullPointerException完成。无法运行   草图(目标VM无法初始化)。有关更多信息,请阅读   revisions.txt和帮助?故障排除。无法运行草图。

提前谢谢

1 个答案:

答案 0 :(得分:0)

您正在创建一个2D数组,但您永远不会用任何对象填充该数组。换句话说,您的2D数组中充满了null个值。这就是您获得NullPointerException的原因。

您需要使用值填充数组。这是一个例子:

player[1][2] = new Rectangle();

您可能希望使用嵌套的for循环来填充数组。