Methoden Java Sudoku Solver

sklansky18

Mitglied
Hallo ich versuche einen Sudoku Solver in Java zu programmieren und leider kommen bei den Beispieleingaben immer nur der Output "Leider nich lösbar" .

Vorab: Ich benutze eine read() Funktion mit der ich die eingabe einlese über STDIn und anschließend in einen Char Array[][] packe.
Ich habe gleich zu beginn ein statisches Array in der Klasse definiert mit der ich operiere in den einzelnen Methoden.


Hier der Code der zwei Solve Methoden:

Java:
//
public static void solve(){
       solve(0);
       
       System.out.println("nicht loesbar :-(");
   }
   
   public static void solve(int ab){
       int i=ab/9;
       int j=ab%9;
       if(ab==81){
           System.out.println("solved:\n");
           write();
           System.exit(0);
       }
       while(sod1[i][j]!='9'){
           ++ab;
           j=ab%9;
           i=ab/9;
           if(ab==81){
               System.out.println("solved:\n");
               write();
               System.exit(0);
           }
       }
       for(int k=0;k<9;k++){
           i=ab/9;
           j=ab%9;
           char a;
           a= (char)(k + '0');
           sod1[i][j]=a;
           if(check()){
               solve(ab+1);
           }
           else continue;
       }
   }
 
nach dem letzten if, musst du die Position im Array wieder auf "leer" setzen. Das ist zumindest ein Fehler. Nach weiteren hab' ich jetzt gerade nicht gesucht.
 

Zurück
Oben