簡體   English   中英

Java Make聲明並初始化我對象的二維數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM