Hey,
ich hoffe was jetzt kommt ist in ordnung :>
bin grade dabei das sudoku problem per backtracking fuer die uni zu loesen, hab aber im code irgendne crux drin die ich einfach nicht sehe.
ich werd jetzt mal n haufen code aus meinem programm posten und zwar ab der stelle, ab der der compiler haufenweise fehler meldungen rausschmeißt. beispielsweise gleich am anfang soll in ner for-schleife ala
zaehler < 9 "not a statement" sein, angeblich fehlt auch n ";" direkt hinter der klammer. meine begrenzte java erfahrung sagt mir jetzt, dass die fehler daher kommen, dass ich irgendwo klammern vergessen hab oder irgendson scheiß fehler, aber nachdem ich jetzt 2 stunden auf den code geglotzt hab, verschließen sich meine gehirn poren und ne lösung hab ich immer noch nicht.
das array spiel ist vor her per public static int [][] spiel deklariert.
ich hab dann ne methode die das array füllt und eine die das array schön sudoku mäßig druckt.
bis dahin hats alles wunderbar funktioniert. aber ab dieser stelle bekomm ich wie gesagt haufenweise fehler. vllt kann mal einer von euch drüber gucken und mir sagen was an der ganzen geschichte falsch läuft.
so geht das dann nach den ersten fehler noch n bisschen weiter,
da kommen dann viele class, interface or enum expected fehler.
ich kann jeden verstehen, der da keinen bock drauf hat. und extra dickes danke an die leute, die sich versuchen da durch zu wuseln. ich versteh grad nichts mehr :noe:
lg
ich hoffe was jetzt kommt ist in ordnung :>
bin grade dabei das sudoku problem per backtracking fuer die uni zu loesen, hab aber im code irgendne crux drin die ich einfach nicht sehe.
ich werd jetzt mal n haufen code aus meinem programm posten und zwar ab der stelle, ab der der compiler haufenweise fehler meldungen rausschmeißt. beispielsweise gleich am anfang soll in ner for-schleife ala
Java:
for(zaehler = 0, zaehler < 9; zaehler++)
das array spiel ist vor her per public static int [][] spiel deklariert.
ich hab dann ne methode die das array füllt und eine die das array schön sudoku mäßig druckt.
bis dahin hats alles wunderbar funktioniert. aber ab dieser stelle bekomm ich wie gesagt haufenweise fehler. vllt kann mal einer von euch drüber gucken und mir sagen was an der ganzen geschichte falsch läuft.
Java:
public static boolean test(int zeile, int spalte, int zahl){
if(zeile < 0 || spalte < 0 || zeile >= 9 || spalte >= 9)
throw new RuntimeException("Sudoku Regeln beachten");
if(zahl < 1 || zahl > 9)
throw new RuntimeException("Sudoku Regeln beachten");
if(!zeilentest(zeile, zahl)) return false;
if(!spaltentest(spalte, zahl)) return false;
if(!kastentest(zeile, spalte, zahl)) return false;
return true;
}
public static boolean zeilentest(int zeile, int zahl){
if(zeile < 0 || zeile >= 9 || zahl < 1 || zahl > 9)
throw new RuntimeException("Sudoku Regeln beachten");
int zaehler;
for(zaehler = 0, zaehler < 9, zaehler++){ //hier geht der Spaß los: ';' expected
//for();{ / for(){; ?????
//zaehler < 9 'not a statement'
if(spiel[zeile][zaehler] == zahl) return false; //illegal start of expression
}
return true; //illegal start of type + ';' expected
// -> return; true???
}
public static boolean spaltentest(int spalte, int zahl){
for(int zaehler = 0, zaehler < 9, zaehler++){
if(spiel[zaehler][spalte] == zahl) return false;
}
return true;
}
public static boolean kastentest(int zeile, int spalte, int zahl){
zeile = (zeile / 3) * 3;
spalte = (spalte / 3) * 3;
for(int z = 0, z < 3, z++){
for(int s = 0, s < 3, s++){
if(spiel[zeile+z][spalte+s] == zahl)
return false;
}
}
return true;
}
public static boolean loesen(int zeile, int spalte){
if(spalte == 8){
i++;
if(i == n) return true;
spalte = 0;
}
if(spiel[zeile][spalte] > 0)
return loesen(zeile, spalte+1);
for(int zahl = 1, zahl <= 9, zahl++) {
if(!test(zeile, spalte, zahl)){
spiel[zeile][spalte] = zahl;
if(loesen(zeile,spalte+1))
return true;
}
}
spiel[zeile][spalte] = 0;
return false;
}
so geht das dann nach den ersten fehler noch n bisschen weiter,
da kommen dann viele class, interface or enum expected fehler.
ich kann jeden verstehen, der da keinen bock drauf hat. und extra dickes danke an die leute, die sich versuchen da durch zu wuseln. ich versteh grad nichts mehr :noe:
lg