Hallo,
im Zuge eines Informatik-Schulprojekts programmiere ich derzeit ein Sudoku auf Java-Awt-Basis.
Derzeit sind testweise erstmal nur 2 Rätsel komplett enthalten, die Anzahl wird aber noch erhöht.
Nach Klick auf den Start-Button, der ein Rätsel anzeigen lässt (nicht über einen Algorhythmus generiert), wird eine Zufallszahl (Variable v1) erzeugt. Mittels einer if-Klausel wird dann ein Rätsel angezeigt (v1 == 1 fürs erste Rätsel, v1 == 2 fürs zweite Rätsel usw.).
Wenn dann ein Rätsel komplett durch den Nutzer eingegeben wurde, kann über den Button "Eingabe prüfen" die Richtigkeit unter die Lupe genommen werden. Die zwei weiteren Buttons dienen lediglich zur kompletten Lösungsanzeige, falls der Nutzer zeitnah die Auflösung erfahren möchte, sowie zur Leerung aller Textfelder (ein Sudoku-Zahlenfeld = ein Textfeld).
Bei der Prüfung auf die Richtigkeit ergibt sich ein großes Problem, bei dem ich gerade rätsele, woran es liegen könnte.
Bei if (v1==1) gibt mir der Java-Editor eine Fehlermeldung aus, dass trotz vollständiger Eingaben (alle Textfelder mit einer Integer-Zahl gefüllt) ein leerer String eingegeben wurde.
Hier die Fehlermeldung im Ganzen:
Bei if (v1==2) funktioniert der Prüf-Button fehlerfrei und lässt über einen ActionListener die Textfelder je nach Richtigkeit farbig markieren.
Auch nach Löschen aller Texteingaben und der erneuten Eingabe bei einem der beiden Rätsel wird diese Fehlermeldung durch den Editor ausgegeben. Ist es hier evtl. möglich, dass die eingegebenen Zahlen im Hintergrund verbleiben und die leeren Strings die Integer-Werte nur an der Oberfläche verschwinden lassen?
Zur genauen Nachvollziehbarkeit habe ich als Anhang hier die Datei im zip-Archiv angehangen.
Ich freue mich auf eure Hilfen und Ratschläge!
Viele Grüße!
im Zuge eines Informatik-Schulprojekts programmiere ich derzeit ein Sudoku auf Java-Awt-Basis.
Derzeit sind testweise erstmal nur 2 Rätsel komplett enthalten, die Anzahl wird aber noch erhöht.
Nach Klick auf den Start-Button, der ein Rätsel anzeigen lässt (nicht über einen Algorhythmus generiert), wird eine Zufallszahl (Variable v1) erzeugt. Mittels einer if-Klausel wird dann ein Rätsel angezeigt (v1 == 1 fürs erste Rätsel, v1 == 2 fürs zweite Rätsel usw.).
Wenn dann ein Rätsel komplett durch den Nutzer eingegeben wurde, kann über den Button "Eingabe prüfen" die Richtigkeit unter die Lupe genommen werden. Die zwei weiteren Buttons dienen lediglich zur kompletten Lösungsanzeige, falls der Nutzer zeitnah die Auflösung erfahren möchte, sowie zur Leerung aller Textfelder (ein Sudoku-Zahlenfeld = ein Textfeld).
Bei der Prüfung auf die Richtigkeit ergibt sich ein großes Problem, bei dem ich gerade rätsele, woran es liegen könnte.
Bei if (v1==1) gibt mir der Java-Editor eine Fehlermeldung aus, dass trotz vollständiger Eingaben (alle Textfelder mit einer Integer-Zahl gefüllt) ein leerer String eingegeben wurde.
Hier die Fehlermeldung im Ganzen:
Code:
Exception in thread "AWT-EventQueue-1" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.parseInt(Integer.java:499)
at Sudoku$2.actionPerformed(Sudoku.java:624)
at java.awt.Button.processActionEvent(Button.java:392)
at java.awt.Button.processEvent(Button.java:360)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Bei if (v1==2) funktioniert der Prüf-Button fehlerfrei und lässt über einen ActionListener die Textfelder je nach Richtigkeit farbig markieren.
Auch nach Löschen aller Texteingaben und der erneuten Eingabe bei einem der beiden Rätsel wird diese Fehlermeldung durch den Editor ausgegeben. Ist es hier evtl. möglich, dass die eingegebenen Zahlen im Hintergrund verbleiben und die leeren Strings die Integer-Werte nur an der Oberfläche verschwinden lassen?
Zur genauen Nachvollziehbarkeit habe ich als Anhang hier die Datei im zip-Archiv angehangen.
Ich freue mich auf eure Hilfen und Ratschläge!
Viele Grüße!
Anhänge
Zuletzt bearbeitet: