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:
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;
}
}