gpt4 book ai didi

Java声明并初始化我的对象的二维数组

转载 作者:太空宇宙 更新时间:2023-11-04 14:05:18 26 4
gpt4 key购买 nike

我正在制作一个程序,该程序制作一个随机大小>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没有停止。

关于Java声明并初始化我的对象的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28922396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com