gpt4 book ai didi

java - 更改java中二维数组中的值

转载 作者:行者123 更新时间:2023-12-01 15:34:54 26 4
gpt4 key购买 nike

我正在尝试创建一个java程序,在该程序中,我将能够将值1的位置更改为数组中的特定位置。例如,我在位置[5][4]中有值1,我想要将其移动到下一个(或预览位置)并删除值 1 并将值 0 存储到上一个位置。我的问题是我可以移动值 1,但无法将其从之前的位置删除(将值 0 存储到之前的位置)。我的代码如下:

for (int row = 0; row < 6; row++) {
for (int col = 0; col < 6; col++) {
int randomPosition = r.nextInt(2);

array[row][col] = 0;
array[2][3] = 1;
array[4][4] = 1;

if (array[row][col] == 1) {
array[row][col] = 0;

if (randomPos == 0) {
array[row - 1][col] = 1;

} else if (randomPos == 1) {
array[row][col - 1] = 1;

} else if (randomPos == 2) {
array[row + 1][col + 1] = 1;

}
}
}
}

for (int row = 0; row < cells.length; row++) {
for (int col = 0; col < cells[row].length; col++) {
System.out.print(" " + cells[row][col]);
}
}

最佳答案

您可能会收到 ArrayIndexOutOfBoundsException。这是因为您引用的是 [row-1][col-1] (以及 +1),但是 rowcol 可能是 0 或最大索引,在这些情况下加或减 1 将使您尝试引用不存在的索引。

您必须进行检查以确保您引用的索引确实存在。

示例:

if(randomPos==0){
if(row-1 > 0)
array[row-1][col] = 1;
}

此外,根据评论,您应该告诉我们您实际看到的内容,以及您如何知道它无法正常工作。如果有任何您无法理解的错误消息(当然,请先尝试阅读它们!),然后也将其发布。

关于java - 更改java中二维数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9023550/

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