Sudoku Blocküberprüfung

Java xyrse123

Bekanntes Mitglied
Hallo,
ich komme bei der Blocküberprufung nicht weiter.
i und j sind die Koordinaten von dem Feld was geprüft werden soll.
Hier ist der Code:

Code:
static boolean check(int i, int j, int value, int Matrix[][]) {   
        int n =i-(i%3); //Blocküberprüfung 
        int m = j-(j%3);
                for (int a = 0; a < 3; a++) {
                    for (int b = 0; b < 3; b++) {
                        if (Matrix[a + n][b + m] == value)
                            return false;
                    }               
                }
                                   
                return true; // Zahl ist richtig
    }
 
Wenn ich das Sudoku lösen möchte und die Blocküberprüfung mit reinnehme, verändert sich nichts. Wenn ich die Blocküberprüfung rausnehme und nur die Zeilen und Spalten geprüft werden wird das Sudoku komplett ausgefüllt. Also muss doch irgendwas an der Blocküberprüfung falsch sein.
 
Sorry, ich muss mich wohl bei der Eingabe vertippt haben 😳, jetzt funktioniert es jedenfalls.
Eine Frage hätte ich aber noch. Wie kann ich die Zahlen von der Kommandozeile einlesen?
 

Zurück
Oben