我正在開發掃雷遊戲,每件事情都很好,直到昨天早晨:我遇到了一個我自己無法解決的問題。 的情況是這樣的:我有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],幫助您會更容易。 –
此外,它不清楚你的評論意味着什麼 - 但你可以編輯你的文章,如果它不說你想要它... –