Hallo!
Ich habe mir Gedanken gemacht, wie ich Klassentechnisch ein Sudoku darstellen könnte und bin zu dem Schluss gekommen, dass es die kleinste Einheit eines Kasten gibt, ein Gitter, welches 9 Kasten enthält und eine Matrix (das Spielfeld), welche 9 Gitter enthält.
Damit das Ganze übersichtlich ist, nutze ich 2-Dimensionale Arrays ( [Reihe][Spalte] ).
Nun scheine ich allerdings Logikfehler zu haben, da bei dem Setzen eines Wertes eine NullpointerException kommt. Kann es sein, dass das daran liegt, dass ich die Objekte zwar deklariert, aber noch nicht initialisiert habe?
Die NullPointerException taucht wie gesagt beim ersten Set auf
Vielen Dank für die Mühe!
Ich habe mir Gedanken gemacht, wie ich Klassentechnisch ein Sudoku darstellen könnte und bin zu dem Schluss gekommen, dass es die kleinste Einheit eines Kasten gibt, ein Gitter, welches 9 Kasten enthält und eine Matrix (das Spielfeld), welche 9 Gitter enthält.
Damit das Ganze übersichtlich ist, nutze ich 2-Dimensionale Arrays ( [Reihe][Spalte] ).
Nun scheine ich allerdings Logikfehler zu haben, da bei dem Setzen eines Wertes eine NullpointerException kommt. Kann es sein, dass das daran liegt, dass ich die Objekte zwar deklariert, aber noch nicht initialisiert habe?
Java:
public class Main {
public static void main(String[] args) {
Matrix spielfeld = new Matrix();
spielfeld.gGitter[0][0].kKasten[0][0].setIWert(1);
spielfeld.gGitter[0][0].kKasten[1][0].setIWert(2);
spielfeld.gGitter[0][0].kKasten[2][0].setIWert(3);
spielfeld.konsolenAusgabe();
}
}
public class Kasten {
private int iWert = 0;
public void setIWert( int wert )/* throws Exception */ {
if( wert > 0 && wert < 10 )
iWert = wert;
/* else
throw new Exception("No Valid Number"); */
}
public int getIWert() {
return iWert;
}
}
public class Gitter {
public Kasten [][] kKasten = new Kasten[3][3];
}
public class Matrix {
public Gitter [][] gGitter = new Gitter[3][3];
public void konsolenAusgabe() {
int b = 0;
for(int a = 0; a < 4; a++) {
int d = 0;
for(int c = 0; c < 4; c++) {
System.out.print( this.gGitter[a][b].kKasten[c][d].getIWert() );
d++;
}
System.out.print("/n");
b++;
}
System.out.print("/n");
}
}
Die NullPointerException taucht wie gesagt beim ersten Set auf
Vielen Dank für die Mühe!