我正在尝试用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");
}
}
我的广场班
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;
}
}
答案 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");
}
}