Hallo Java-Forum, die nachfolgende Methode funktioniert soweit os wie ich es möchte, was mich allerdings wundert ,ist, dass startSpalte nicht aktualisiert wird, obwohl startZeile = 0 wird. Kann mir jemand den Fehler zeigen? Mir ist das nicht ersichtlich.
Die Ausgabe lautet:
1 0 0 Startzeile: 0 Startspalte: 0
1 0 1 Startzeile: 0 Startspalte: 0
1 0 2 Startzeile: 0 Startspalte: 0
2 0 3 Startzeile: 0 Startspalte: 0
2 0 4 Startzeile: 0 Startspalte: 0
2 0 5 Startzeile: 0 Startspalte: 0
3 0 6 Startzeile: 0 Startspalte: 0
3 0 7 Startzeile: 0 Startspalte: 0
3 0 8 Startzeile: 0 Startspalte: 0
Fertig
4 1 0 Startzeile: 3 Startspalte: 0
4 1 1 Startzeile: 3 Startspalte: 0
4 1 2 Startzeile: 3 Startspalte: 0
5 1 3 Startzeile: 3 Startspalte: 0
5 1 4 Startzeile: 3 Startspalte: 0
5 1 5 Startzeile: 3 Startspalte: 0
6 1 6 Startzeile: 3 Startspalte: 0
6 1 7 Startzeile: 3 Startspalte: 0
6 1 8 Startzeile: 3 Startspalte: 0
Fertig
7 2 0 Startzeile: 6 Startspalte: 0
7 2 1 Startzeile: 6 Startspalte: 0
7 2 2 Startzeile: 6 Startspalte: 0
8 2 3 Startzeile: 6 Startspalte: 0
8 2 4 Startzeile: 6 Startspalte: 0
8 2 5 Startzeile: 6 Startspalte: 0
9 2 6 Startzeile: 6 Startspalte: 0
9 2 7 Startzeile: 6 Startspalte: 0
9 2 8 Startzeile: 6 Startspalte: 0
Fertig
1 0 0 Startzeile: 0 Startspalte: 0
1 0 1 Startzeile: 0 Startspalte: 0
1 0 2 Startzeile: 0 Startspalte: 0
2 0 3 Startzeile: 0 Startspalte: 0
2 0 4 Startzeile: 0 Startspalte: 0
2 0 5 Startzeile: 0 Startspalte: 0
3 0 6 Startzeile: 0 Startspalte: 0
3 0 7 Startzeile: 0 Startspalte: 0
3 0 8 Startzeile: 0 Startspalte: 0
Fertig
4 1 0 Startzeile: 3 Startspalte: 0
4 1 1 Startzeile: 3 Startspalte: 0
4 1 2 Startzeile: 3 Startspalte: 0
5 1 3 Startzeile: 3 Startspalte: 0
5 1 4 Startzeile: 3 Startspalte: 0
5 1 5 Startzeile: 3 Startspalte: 0
6 1 6 Startzeile: 3 Startspalte: 0
6 1 7 Startzeile: 3 Startspalte: 0
6 1 8 Startzeile: 3 Startspalte: 0
Fertig
7 2 0 Startzeile: 6 Startspalte: 0
7 2 1 Startzeile: 6 Startspalte: 0
7 2 2 Startzeile: 6 Startspalte: 0
8 2 3 Startzeile: 6 Startspalte: 0
8 2 4 Startzeile: 6 Startspalte: 0
8 2 5 Startzeile: 6 Startspalte: 0
9 2 6 Startzeile: 6 Startspalte: 0
9 2 7 Startzeile: 6 Startspalte: 0
9 2 8 Startzeile: 6 Startspalte: 0
Fertig
1 0 0 Startzeile: 0 Startspalte: 0
1 0 1 Startzeile: 0 Startspalte: 0
1 0 2 Startzeile: 0 Startspalte: 0
2 0 3 Startzeile: 0 Startspalte: 0
2 0 4 Startzeile: 0 Startspalte: 0
2 0 5 Startzeile: 0 Startspalte: 0
3 0 6 Startzeile: 0 Startspalte: 0
3 0 7 Startzeile: 0 Startspalte: 0
3 0 8 Startzeile: 0 Startspalte: 0
Fertig
4 1 0 Startzeile: 3 Startspalte: 0
4 1 1 Startzeile: 3 Startspalte: 0
4 1 2 Startzeile: 3 Startspalte: 0
5 1 3 Startzeile: 3 Startspalte: 0
5 1 4 Startzeile: 3 Startspalte: 0
5 1 5 Startzeile: 3 Startspalte: 0
6 1 6 Startzeile: 3 Startspalte: 0
6 1 7 Startzeile: 3 Startspalte: 0
6 1 8 Startzeile: 3 Startspalte: 0
Fertig
7 2 0 Startzeile: 6 Startspalte: 0
7 2 1 Startzeile: 6 Startspalte: 0
7 2 2 Startzeile: 6 Startspalte: 0
8 2 3 Startzeile: 6 Startspalte: 0
8 2 4 Startzeile: 6 Startspalte: 0
8 2 5 Startzeile: 6 Startspalte: 0
9 2 6 Startzeile: 6 Startspalte: 0
9 2 7 Startzeile: 6 Startspalte: 0
9 2 8 Startzeile: 6 Startspalte: 0
Fertig
Wie man sieht wird startZeile erhöht so wie ich es möchte, nur startSpalte wird nicht größer, das führt dazu, dass ich in meinem Sudoku 3 mal dieselbe vertikale Reihe an 3x3-Kästchen auslese.
[EDIT]Ich meerke gerade, dass ich immer die ersten drei felder des Arrys widergebe, dass ist jetzt aber Nebensächlich. Mich interessiert, warum startSpalte nicht erhöht wird.[/EDIT]
Java:
public static void schreibeBloeckeinArray(Gui fenster) {
int i = 0;
int j = 0;
int startZeile = 0;
int startSpalte = 0;
for (int pos = 0; pos < 3; pos++) {
for (int zeile = startZeile; zeile < startZeile + 3; zeile++) {
for (int spalte = startSpalte; spalte < startSpalte + 3; spalte++) {
try {
block[i][j] = Integer.parseInt(fenster.edtZahlen[zeile][spalte].getText());
}
catch (ArrayIndexOutOfBoundsException e) {
System.out.println(e);
}
System.out.println(block[i][j] + " " + i + " " + j + " Startzeile: " + startZeile + " Startspalte: " + startSpalte);
j++;
}
}
System.out.println("Fertig");
j = 0;
i++;
startZeile += 3;
}
startZeile = 0;
startSpalte += 3;
}
Die Ausgabe lautet:
1 0 0 Startzeile: 0 Startspalte: 0
1 0 1 Startzeile: 0 Startspalte: 0
1 0 2 Startzeile: 0 Startspalte: 0
2 0 3 Startzeile: 0 Startspalte: 0
2 0 4 Startzeile: 0 Startspalte: 0
2 0 5 Startzeile: 0 Startspalte: 0
3 0 6 Startzeile: 0 Startspalte: 0
3 0 7 Startzeile: 0 Startspalte: 0
3 0 8 Startzeile: 0 Startspalte: 0
Fertig
4 1 0 Startzeile: 3 Startspalte: 0
4 1 1 Startzeile: 3 Startspalte: 0
4 1 2 Startzeile: 3 Startspalte: 0
5 1 3 Startzeile: 3 Startspalte: 0
5 1 4 Startzeile: 3 Startspalte: 0
5 1 5 Startzeile: 3 Startspalte: 0
6 1 6 Startzeile: 3 Startspalte: 0
6 1 7 Startzeile: 3 Startspalte: 0
6 1 8 Startzeile: 3 Startspalte: 0
Fertig
7 2 0 Startzeile: 6 Startspalte: 0
7 2 1 Startzeile: 6 Startspalte: 0
7 2 2 Startzeile: 6 Startspalte: 0
8 2 3 Startzeile: 6 Startspalte: 0
8 2 4 Startzeile: 6 Startspalte: 0
8 2 5 Startzeile: 6 Startspalte: 0
9 2 6 Startzeile: 6 Startspalte: 0
9 2 7 Startzeile: 6 Startspalte: 0
9 2 8 Startzeile: 6 Startspalte: 0
Fertig
1 0 0 Startzeile: 0 Startspalte: 0
1 0 1 Startzeile: 0 Startspalte: 0
1 0 2 Startzeile: 0 Startspalte: 0
2 0 3 Startzeile: 0 Startspalte: 0
2 0 4 Startzeile: 0 Startspalte: 0
2 0 5 Startzeile: 0 Startspalte: 0
3 0 6 Startzeile: 0 Startspalte: 0
3 0 7 Startzeile: 0 Startspalte: 0
3 0 8 Startzeile: 0 Startspalte: 0
Fertig
4 1 0 Startzeile: 3 Startspalte: 0
4 1 1 Startzeile: 3 Startspalte: 0
4 1 2 Startzeile: 3 Startspalte: 0
5 1 3 Startzeile: 3 Startspalte: 0
5 1 4 Startzeile: 3 Startspalte: 0
5 1 5 Startzeile: 3 Startspalte: 0
6 1 6 Startzeile: 3 Startspalte: 0
6 1 7 Startzeile: 3 Startspalte: 0
6 1 8 Startzeile: 3 Startspalte: 0
Fertig
7 2 0 Startzeile: 6 Startspalte: 0
7 2 1 Startzeile: 6 Startspalte: 0
7 2 2 Startzeile: 6 Startspalte: 0
8 2 3 Startzeile: 6 Startspalte: 0
8 2 4 Startzeile: 6 Startspalte: 0
8 2 5 Startzeile: 6 Startspalte: 0
9 2 6 Startzeile: 6 Startspalte: 0
9 2 7 Startzeile: 6 Startspalte: 0
9 2 8 Startzeile: 6 Startspalte: 0
Fertig
1 0 0 Startzeile: 0 Startspalte: 0
1 0 1 Startzeile: 0 Startspalte: 0
1 0 2 Startzeile: 0 Startspalte: 0
2 0 3 Startzeile: 0 Startspalte: 0
2 0 4 Startzeile: 0 Startspalte: 0
2 0 5 Startzeile: 0 Startspalte: 0
3 0 6 Startzeile: 0 Startspalte: 0
3 0 7 Startzeile: 0 Startspalte: 0
3 0 8 Startzeile: 0 Startspalte: 0
Fertig
4 1 0 Startzeile: 3 Startspalte: 0
4 1 1 Startzeile: 3 Startspalte: 0
4 1 2 Startzeile: 3 Startspalte: 0
5 1 3 Startzeile: 3 Startspalte: 0
5 1 4 Startzeile: 3 Startspalte: 0
5 1 5 Startzeile: 3 Startspalte: 0
6 1 6 Startzeile: 3 Startspalte: 0
6 1 7 Startzeile: 3 Startspalte: 0
6 1 8 Startzeile: 3 Startspalte: 0
Fertig
7 2 0 Startzeile: 6 Startspalte: 0
7 2 1 Startzeile: 6 Startspalte: 0
7 2 2 Startzeile: 6 Startspalte: 0
8 2 3 Startzeile: 6 Startspalte: 0
8 2 4 Startzeile: 6 Startspalte: 0
8 2 5 Startzeile: 6 Startspalte: 0
9 2 6 Startzeile: 6 Startspalte: 0
9 2 7 Startzeile: 6 Startspalte: 0
9 2 8 Startzeile: 6 Startspalte: 0
Fertig
Wie man sieht wird startZeile erhöht so wie ich es möchte, nur startSpalte wird nicht größer, das führt dazu, dass ich in meinem Sudoku 3 mal dieselbe vertikale Reihe an 3x3-Kästchen auslese.
[EDIT]Ich meerke gerade, dass ich immer die ersten drei felder des Arrys widergebe, dass ist jetzt aber Nebensächlich. Mich interessiert, warum startSpalte nicht erhöht wird.[/EDIT]
Zuletzt bearbeitet: