# Hilfe!!!Sudoku



## Gigai (19. Mai 2009)

Hallo liebe Member
Ich bin neu hier und brauche dringend Hilfe bei einem Sudoku-Programm....

Ganz ehrlich: Ich weiß nicht, wie ich das schreiben soll....
Hierbei geht es nicht um das Prinzip des Programms sondern NUR um die Umsetzung...

Ich habe veon meinem "tollen" Lehrer den Auftrag bekommen 3 indivuelle Sudokus zu programmieren: 3x3, 4x4 und 5x5

Ich wollte das nach dem Backtracking-Schema machen, sprich:

geh in das erste leere Feld-->setz eine 1 ein-->prüfe, ob true oder false-->true: nächstes feld mit 1/false: zurück und andere Zahl einsetzen

und das ganze dann so lange, bis das alle Felder belegt sind...

Das Hauptproblem bei mir ist die Umsetzung des Ganzen in Java-Codes, weil mir zum einen die Befehle fehlen und ich zum anderen keine Ahnung habe, wie ich das mit den grafischen Elementen regeln soll....
Vielleicht ist es zu viel verlangt, aber könnte mir nicht jmd. von euch das 3x3-Sudoku schreiben, damit ich zumindest mal 'ne Vorlage habe, um den ganzen Kram analysieren zu können?
Ich würde dann versuchen mir den Rest selbstständig zu erarbeiten....


mfg.

Gigai


----------



## Schandro (19. Mai 2009)

Wenn du schon ne Komplettlösung haben willst, dann googel doch einfach danach. Es gibt genug im Internet, und selbst wenn der Quellcode net mitgeliefert wird, wofür gibts Decompiler?


----------



## Gigai (19. Mai 2009)

@Schandro

Du hast mich missverstanden....ich will nicht nur eine Komplettlösung, ich will auch verstehen, wie das ganze funktioniert (in den einzelnen Java-Code-Aufbauschritten)
Deshalb habe ich ja eine Anfrage ins Board hier gestellt, denn falls ich jetzt 'nen Script bekomme und da nicht ganz verstehe wie wo was aufgebaut ist, dann kann ich nachfragen....

Es ist ja nicht so, als ob ich den Kram einfach von 2. Hand programmieren lassen will und fertig, aber es ist bei mir wirklich so, dass ich es in einem fertigen programm einfach besser verstehe als wenn man mir da 'nen Script-Fetzen vorsetzt... 

So ähnlich habe ich mir das auch mit dem objektorientierten Programmieren in Java selbst beigebracht...


mfg.

Gigai


----------



## The_S (20. Mai 2009)

Evtl. ist das ja was für dich!?

Java Blog Buch : C) Sudoku Solver


----------



## Gigai (20. Mai 2009)

@The_S

Danke für den Link... bedauerlicherweise muss ich das Programm mit GUI schreiben....
Ohne GUI wäre es ja gar kein Problem für mich, aber diese grafischen Elemente, dazu noch die grafische Ausgabe in einem Feld und das Prüfen von allen grafischen Feldern...das ist so ziemlich das einzige, was mir wirklich Probleme bereitet....

Ich weiß nicht, wie ich die grafischen Elemente mit dem Java-Code zusammen bringen kann....



mfg.
Gigai


----------



## The_S (20. Mai 2009)

upsala, da hab ich ja das Forum ganz übersehen. Klang beim Lesen eher so, als ob du Probleme mit dem Algorithmus hast. Du könntest z. B. n*n Klappboxen mit den entsprechenden Werten gefüllt als Anzeigemedium verwenden.


----------



## Gigai (20. Mai 2009)

@The_S

Und wie soll ich das dann mit den Textfeldern machen?
Ich brauche ja bei 'nem 3x3-Sudoku 81 Felder...

Wie kann ich alle hinter einander in einem Array einlesen lassen?
Die Felder haben ja schließlich alle unterschiedliche Namen...

Wie gesagt, mir fehlen einfach die Grundlagen mit GUI....


mfg.
Gigai


----------



## The_S (20. Mai 2009)

Du brauchst keine Textfelder. Das machen JComboBoxen. Oder du nimmst wirklich TextFelder mit em JTextField. Oder JFormattedTextField. Wie wärs, wenn du dich in GUI-Programmierung in einem Anfängerbuch einliest? Sonst wird das hier wohl nix.

PS: 3x3 sind 9 und nicht 81


----------



## 0001001 (20. Mai 2009)

```
JTextfield[][] array = new JTextfield[5][5];
for(int i=0;i<array.length;i++){
   for(int j=0;j<array[0].length;j++){
      array[i][j] = new JTextField();
   }
}
```


----------



## Gigai (20. Mai 2009)

@The_S

Kannst du mir da ein gutes empfehlen?


PS:
ein 3x3-Sudoku hat 3x3x3x3 Felder, also 81 

@0001001

Danke für die Hilfestellung, aber an welcher STelle soll ich den Befehl eintragen?



mfg.
Gigai


----------



## The_S (20. Mai 2009)

Für mich ist das ein 9x9 Sudoku  . Z. B. im Java Insel Buch

Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 16 Grafische Oberflächen mit Swing


----------



## Schandro (20. Mai 2009)

> ...dass ich es in einem fertigen programm einfach besser verstehe als wenn man mir da 'nen Script-Fetzen vorsetzt...
> 
> So ähnlich habe ich mir das auch mit dem objektorientierten Programmieren in Java selbst beigebracht...


Das kann ich irgendwie nicht glauben^^

Glaub mir, irgendein Buch zu lesen ist IMMER effektiver als sich Beispielcodes anzugucken. (jedenfalls bei so großen wichtigen Sachen wie OOP).

Das sieht man auch gut an deiner Frage hier:


> Danke für die Hilfestellung, aber an welcher STelle soll ich den Befehl eintragen?


Es geht beim programmieren absolut nicht dadrum Befehle aneinanderzuhängen, aber daran gewöhnt man sich halt wenn man nur fertigen Beispielcode abändert anstatt die Architektur dahinter mal selber zu entwerfen. Keine Ahnung ob das auf dich zutrifft, aber so wirkt deine Frage.


----------



## Gigai (20. Mai 2009)

@The_S

Danke für den Link....ich werde es mir gleich zu Gemüte führen 

@Schandro

Es ist aber so....die Architektur allein reicht nicht immer aus...man braucht beides...
Klar, dass ich OOP nicht nur aus Programmen übernommen habe, jedoch habe ich am Anfang nicht ganz kapiert, wie man das einbindet und als ich das dann in fertigen Programmen gesehen habe, hat es klick gemacht und wusste genau, was zu tun war ...
ich weiß nicht, wie sowas bei dir wirkt, mir hat es jedenfalls 15P. in der Klausur eingebracht...


mfg.
Gigai


----------



## Schandro (20. Mai 2009)

na dann, hat sich so angehört als wärst du einer von den Hackern die sich überall ihre Codeschnipsel zusammengooglen und dann per Copy&Paste versuchen aneinanderzuhängen.^^


----------



## Gigai (20. Mai 2009)

@Schandro

also so ein hardcore-arschloch bin ich dann doch nicht :bae:

@The_S

ok, habe gerade alles zum Thema GUI überflogen....jedoch gingen einige der Beispiele nicht auf meinem 1.4-Java-Editor
ich werde jetzt nochmal versuchen den alogrithmus selbstständig mit GUI zu coden, fals ich es nicht schaffen sollte, melde ich mich nochmal hier...

*edit//

@all

was ich noch fragen sollte:

könnte man diesen Sudoku-Algorithmus nicht auch in einer 9x9-Tabelle coden?
wenn ja, wie müsste ich dann den backtrack-algotithmus da einlesen lassen?


mfg.
Gigai


----------



## Schandro (20. Mai 2009)

> also so ein hardcore-arschloch bin ich dann doch nicht


 warum Arschloch? Ich hab eher mitleid mit denen weil sie es nie schaffen werden irgendwas Vernünftiges hinzubekommen. Schaden tun sie durch ihre Try=>Error Versuche niemanden


----------



## Gigai (20. Mai 2009)

@Schandro

selbst ein blindes Huhn findet irgendwann ein Korn 

@all
ich stelle dei Frage nochmal, vielleicht ist die Frage im editionierten Posting untergegangen

Könnte man den Sudoku-Algorithmus nicht auch in einer 9x9 - Tabelle coden?
Wenn ja, wie müsste ich dann den Backtrack - Algotithmus da einlesen lassen?



mfg.
Gigai


----------



## neonfly (21. Mai 2009)

> Die Felder haben ja schließlich alle unterschiedliche Namen...


Oder Ids...

Ids:
+----------------
| 1 | 8 | 4 |
+------------------
| 2
+---------
| 3......................


für ein 3x3 Sudoku!

Dir ist klar, worauf ich hinaus will?


----------



## Gigai (21. Mai 2009)

@neonfly

nein, nicht wirklich....könntest du das bitte etwas näher erläutern?


mfg.
Gigai


----------



## Gigai (22. Mai 2009)

@all
Leute, vergesst es....ich habe es fertig =)
Thread kann geschlossen werden...



mfg.
Gigai


----------

