Hallo liebe Forumler,
vielleicht könnt ihr mir bei einem Problem weiterhelfen. Leider ist es zu diesem Zeitpunkt bereits schwierig kurzen Code anzugeben, der self-contained ist, daher versuche ich die nötige Umgebung so knackig es geht zu erläutern.
Ich möchte einen Sudoku-Löser programmieren und habe dazu eine Datensatzklasse geschaffen, in der die Daten auf unterschiedliche Weise dargestellt sind (ein normales Wertearray und ein Listenarray).
Das Einlesen der Daten, die ich auf der GUI eingebe klappt solange super, solange ich nur das WerteArray bestücken möchte.
Eine Nullpointer Exception bekomme ich, bei dem ListenArray (genauer bei ListenArray[x][y].add(i); ). Hier einmal das Code-Segment, in dem hoffentlich alles relevante enthalten ist.
Nachdem ich dann mal Google bemüht habe, hat mich querlesen auf die Idee gebracht, dass ListenArray[x][y] ja "null" sein könnte (habe den Fehler vorher in den Parametern oder der Methode vermutet) und habe daraufhin das ganze mal im Debug-Modus getestet und konnte feststellen, dass das tatsächlich der Fall ist. Alle anderen Variablen haben genau dei Werte, die ich bei meiner entsprechenden Eingabe erwarten würde.
Ich habe dennoch keine Ahnung, wie ich das behebe und befürchte, dass bei mir ein allgemeines Verständnisproblem vorliegt. Wäre dieses ListenArray nicht instanziert wäre das ne andere Sache, aber das geschieht ja bereits im Konstruktor.
Andererseits hätte ich gedacht, dass eine LinkedList ohne Elemente sowieso auf "null" zeigt, selbst wenn sie bereits instanziert ist, womit ich den Fehler noch weniger verstehe.
Ich wäre sehr dankbar, wenn ihr mich erleuchten könntet
Beste Grüße,
Wolf
vielleicht könnt ihr mir bei einem Problem weiterhelfen. Leider ist es zu diesem Zeitpunkt bereits schwierig kurzen Code anzugeben, der self-contained ist, daher versuche ich die nötige Umgebung so knackig es geht zu erläutern.
Ich möchte einen Sudoku-Löser programmieren und habe dazu eine Datensatzklasse geschaffen, in der die Daten auf unterschiedliche Weise dargestellt sind (ein normales Wertearray und ein Listenarray).
Das Einlesen der Daten, die ich auf der GUI eingebe klappt solange super, solange ich nur das WerteArray bestücken möchte.
Eine Nullpointer Exception bekomme ich, bei dem ListenArray (genauer bei ListenArray[x][y].add(i); ). Hier einmal das Code-Segment, in dem hoffentlich alles relevante enthalten ist.
Java:
class SudokuData {
LinkedList<Byte>[][] ListenArray;
byte[][] WerteArray;
byte Dimension;
byte Zeilenanzahl;
byte Spaltenanzahl;
SudokuData(byte a, byte b){
ListenArray = new LinkedList[Dimension+1][Dimension+1];
WerteArray = new byte[Dimension+1][Dimension+1];
Zeilenanzahl = a;
Spaltenanzahl = b;
Dimension = (byte)(a*b-1);
}
void setWert(byte x, byte y, byte Wert){
WerteArray[x][y]= Wert;
if(Wert==0){
for(byte i=1;i<=Dimension+1;i++){
ListenArray[x][y].add(i);
}
}else{
ListenArray[x][y].add(Wert);
}
}
[...]
Nachdem ich dann mal Google bemüht habe, hat mich querlesen auf die Idee gebracht, dass ListenArray[x][y] ja "null" sein könnte (habe den Fehler vorher in den Parametern oder der Methode vermutet) und habe daraufhin das ganze mal im Debug-Modus getestet und konnte feststellen, dass das tatsächlich der Fall ist. Alle anderen Variablen haben genau dei Werte, die ich bei meiner entsprechenden Eingabe erwarten würde.
Ich habe dennoch keine Ahnung, wie ich das behebe und befürchte, dass bei mir ein allgemeines Verständnisproblem vorliegt. Wäre dieses ListenArray nicht instanziert wäre das ne andere Sache, aber das geschieht ja bereits im Konstruktor.
Andererseits hätte ich gedacht, dass eine LinkedList ohne Elemente sowieso auf "null" zeigt, selbst wenn sie bereits instanziert ist, womit ich den Fehler noch weniger verstehe.
Ich wäre sehr dankbar, wenn ihr mich erleuchten könntet
Beste Grüße,
Wolf