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.
 

Neue Themen


Zurück
Oben