没有按预期填充2d数组

时间:2015-03-08 17:34:02

标签: java arrays

我正在尝试用2d数组中的自制对象Square创建一个gamebord。 当我在构造函数中创建它时,只创建第一个数组,第二个数组充满Null。 当我尝试使用Int时,它确实可以正常工作。 我是否需要在Square类中添加一些特殊内容,以便可以制作2d数组或者我缺少其他内容?

public class Bord {

private Square[][] gameBord;

public Bord(int hoogte, int breedte) {
        if (isGameBordSizeValid(hoogte, breedte)) {
            gameBord = new Square[breedte][hoogte];
            //populateMiddleOfBord(hoogte, breedte);
        } else {
            throw new IllegalArgumentException("GameBord size is not valid");
        }

    }

V

我的广场班

public class Square {

    private final Integer lengte;
    private final Integer breedte;
    private boolean isBezet;
    private Stone steen;

    public Square() {
        this.lengte = 4;
        this.breedte = 4;
        this.isBezet = false;
    }

    public void squareWordBezet(Color kleur) {
        if (!getIsBezet()) {
            isBezet = true;
            this.steen = new Stone(kleur);
        }

    }

    public boolean getIsBezet() {
        return isBezet;
    }

}

2 个答案:

答案 0 :(得分:1)

您还需要使用Square对象填充数组。现在,你所拥有的只是数组,而不是它应该包含的对象。

答案 1 :(得分:1)

您必须初始化数组的每个元素。像这样:

for(int i = 0; i < breedte;i++){
   for(int k = 0;k < lengte;k++){
       gameBord[i][k] = new Rect(//parameters here");
    }
}