我正在开发扫雷游戏,每件事情都很好,直到昨天早晨:我遇到了一个我自己无法解决的问题。 的情况是这样的:我有2二维数组,在一个我已经产生扫雷场产生的所有值,其中9手段轰炸,并0表示自由空间。我们称之为字段。它是一个整数数组。基本上它是9x9领域。它具有+1行作为适当的代码工作框架。否则,在运行下面列出的代码时,它会返回OutOfBoundsError。 实施例:Java-在使用多维阵列时返回不正确的值
00000000000 0
00000019100 1
01110011100 2
02910000000 3
09321110000 4
02911910000 5
01111111110 6
01110112910 7
02920192110 8
02920111000 9
01110000000 10
00000000000 11
我的第二阵列是字符串数组user_field并且它是空白的(所有null
字段被替换为.
),这里通过输入用户的命令将打开.
字段。
........... 1
........... 2
........... 3
........... 4
........... 5
........... 6
........... 7
........... 8
........... 9
........... 10
........... 11
........... 12
它必须输出我开始上所有0从场,和身边的所有值。例如:
nnn 1
n0n 2
nnn 3
我使用此代码来调用它:
for (int i = 1; i < field_h-2; i++) {
for (int j = 1; j < field_w-2; j++) {
if (user_field[i][j]==null) {
user_field[i][j]=".";
}
if(field[i][j]==0) {
for(int k = 0; k< 3; k++) {
for (int n = 0; n< 3; n++) {
user_field[i-1+k][j-1+n] = String.valueOf(field[i-1+k][j-1+n]);
//System.out.print(String.valueOf(field[i-1+k][j-1+n]));
}
}
}
System.out.print(user_field[i][j]);
}
System.out.println(" "+ (i));
}
但在现实中,它输出(ñ -means值,X -means什么都没有。):
xxx 1
x0n 2
nnn 3
我对此没有任何想法。有人能帮助我吗?我在Java中并不是很有经验,也许我不明白。
如果您提供[mcve],帮助您会更容易。 –
此外,它不清楚你的评论意味着什么 - 但你可以编辑你的文章,如果它不说你想要它... –