Ich arbeite an einer Hausaufgabe, wo ich ein Array füllen und überprüfen muss, ob es vier aufeinander folgende Zahlen gibt, die irgendwo auf und ab sind, Seite an Seite oder diagonal. Ich denke, ich habe die Logik herunter, aber meine for-Schleife stoppt bei der ersten Iteration, anstatt das Array zu durchsuchen. Jede Hilfe wird geschätzt.Java For-Schleife nicht iterierend, stoppt die Methode nach einer Iteration statt zu wiederholen
public static boolean isConsecutiveFour(int[][] values) {
int One = 0;
for (int i = 0; i < values[0].length; i++) {
for (int j = 0; j < values.length; j++) {
One = values[i][j];
//System.out.println(One);
// up and down
if (values[i + 1][j] == One) {
if (values[i + 2][j] == One) {
if (values[i + 3][j] == One) {
return true;
}
}
}
// left to right
if (values[i][j + 1] == One) {
if (values[i][j + 2] == One) {
if (values[i][j + 3] == One) {
return true;
}
}
}
// diagonal to right
if (values[i + 1][j + 1] == One) {
if (values[i + 2][j + 2] == One) {
if (values[i + 3][j + 3] == One) {
return true;
}
}
}
// diagonal to left
if (i >= 3 && j >=3) {
if (values[i - 1][j - 1] == One) {
if (values[i - 2][j - 2] == One) {
if (values[i - 3][j - 3] == One) {
return true;
}
}
}
} else
return false;
}
}
return false;
}
Bitte geben Sie das Array 'values' an. – nvioli
'int Eins = 0;' whät? – luk2302
Sie haben hier eine große Menge an Code veröffentlicht - bitte reduzieren Sie dies auf [mcve]. –