Ich arbeite am Minesweeper-Spiel, und alles sah gut aus, genau bis zum gestrigen Morgen: Ich habe ein Problem, das ich selbst nicht lösen kann. Die Situation sieht wie folgt aus: Ich habe 2 zweidimensionale Arrays, in einem i Sweeper Feld mit allen erzeugten Werte generiert haben, wo 9 Mittel bombardieren, und 0 bedeutet Freiraum. Lass es uns anrufen Feld. Es ist ein Integer-Array. Grundsätzlich ist es 9x9 Feld. Es hat +1 Reihe von Nullen als Rahmen für eine ordnungsgemäße Arbeit des Codes. Andernfalls wird OutOfBoundsError zurückgegeben, wenn Code unten aufgeführt wird. Beispiel:Java - Gibt falsche Werte zurück, während mit mehrdimensionalen Arrays gearbeitet wird
00000000000 0
00000019100 1
01110011100 2
02910000000 3
09321110000 4
02911910000 5
01111111110 6
01110112910 7
02920192110 8
02920111000 9
01110000000 10
00000000000 11
Meine zweite Array ist String-Array user_field und es ist leer (alle null
Feld mit .
ersetzt), hier durch Befehle Benutzer Eingabe .
Felder öffnen.
........... 1
........... 2
........... 3
........... 4
........... 5
........... 6
........... 7
........... 8
........... 9
........... 10
........... 11
........... 12
Es muss Ausgang mich beim Start alle 0 von Feld, und alle Werte um sie herum. Beispiel:
nnn 1
n0n 2
nnn 3
Ich benutze diesen Code zu nennen:
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));
}
Aber in Wirklichkeit gibt er (n -Mittel Wert, x -Mittel nichts.):
xxx 1
x0n 2
nnn 3
Ich habe keine Ideen, warum das passiert. Kann mir bitte jemand helfen? Ich bin in Java nicht so erfahren, vielleicht verstehe ich etwas nicht.
Es wäre einfacher, Ihnen zu helfen, wenn Sie eine [mcve] zur Verfügung stellen würden. –
Auch ist es nicht klar, was Ihr Kommentar bedeutet - aber Sie können Ihren Beitrag bearbeiten, wenn er nicht sagt, was Sie wollten ... –