[英]Java Make declare and initialize 2d array of my object
我正在開發一個程序,該程序可以使隨機大小大於1的網格,然后將牆壁隨機放入迷宮中。 然后,該程序應該找到從起點到目標的路線。 我正在使用廣度搜索。
我的問題是我找不到存儲坐標的方法,所以我制作了自己的具有x和y值的類Coord
。 對於我算法的一部分,我需要制作一個Coord
類型的二維數組
我似乎無法使其正常工作,每次嘗試運行該程序時,都會得到ArrayIndexOutOfBoundsException
。 我不知道為什么或如何分配此數組,這是我的算法所需要的。
這是我要運行的代碼:
Coord[][] test2dArray = new Coord[3][3];
test2dArray = Coord.make2dArray(3, 3);
這是在打電話:
public class Coord {
int x;
int y;
public static Coord[][] make2dArray(int sizex, int sizey){
Coord[][] array= new Coord[sizex][sizey];
for(int x=0; x<sizex; x++){
for(int y=0; x<sizey; y++){
array[x][y] = new Coord(0,0);
}
}
return array;
}
到目前為止,我確實有使用此代碼的一維數組:
Coord[] testArray = Coord.makeArray(4);
正在調用:
public static Coord[] makeArray(int size){
Coord[] array= new Coord[size];
for(int i=0;i<size;i++){
array[i]= new Coord(0,0);
}
return array;
}
如果您能幫助我並解釋發生了什么,那將是很好的! 非常感謝你們的幫助 :)
線
for(int y=0; x<sizey; y++)
應該
for(int y=0; y<sizey; y++)
需要條件y<sizey
來停止y
太大並導致ArrayIndexOutOfBoundsException
。 您的錯字表示y
不停止。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.