Hallo,
ich habe ein Objekt definiert, dass als Attribut neben 4 int Zahlen auch ein BitSet hat.
Nun erhalte ich eine NullPointerException wenn ich auf dieses BitSet zugreifen möchte.
Ich vermute, es hat damit zu tun, dass ich dieses BitSet erst instanziieren muss. Weiß aber nicht wie es geht.
Hier ist der Code:
Der Fehler kommt bei dem Befehl: ds.KandiMenge.set(i);
Im Voraus vielen Dank für eure Hilfe.
Wolle
ich habe ein Objekt definiert, dass als Attribut neben 4 int Zahlen auch ein BitSet hat.
Nun erhalte ich eine NullPointerException wenn ich auf dieses BitSet zugreifen möchte.
Ich vermute, es hat damit zu tun, dass ich dieses BitSet erst instanziieren muss. Weiß aber nicht wie es geht.
Hier ist der Code:
Code:
import java.util.*;
class Prototyp2 {
public static void main(String[] args) {
int [][] Bfeld = new int [9][9];
int b = 0;
Vector Zliste = new Vector ();
Vector Sliste = new Vector ();
Vector Bliste = new Vector ();
Vector Tabelle = new Vector ();
BitSet Menge = new BitSet();
Zelle ds = new Zelle ();
int [][] Sudoku ={
{0,6,9,0,0,0,8,7,5},
{0,0,2,6,0,8,3,0,0},
{1,7,0,5,0,9,0,2,4},
{0,1,0,0,9,0,0,4,0},
{4,0,0,3,2,5,0,0,9},
{0,9,0,0,8,0,0,3,0},
{9,3,0,8,0,4,0,5,2},
{0,0,1,9,0,3,4,0,0},
{0,5,4,0,0,0,9,8,0},
};
// jedes Feld des Sudoku durchgehen
for (int z = 1; z <= 9; z ++) {
for (int s = 1; s <= 9; s ++) {
if (Sudoku [z-1][s-1] != 0) {
ds = new Zelle ();
// diesen Datensatz mit allen Kandis füllen
for (int i = 1;i <=9 ; i++ ) {
ds.KandiMenge.set(i);
}
ds.KandiMenge.andNot((BitSet) Zliste.elementAt(z-1));
ds.KandiMenge.andNot((BitSet) Sliste.elementAt(s-1));
ds.KandiMenge.andNot((BitSet) Bliste.elementAt(b));
ds.KandiMenge = Menge;
ds.anzahl = ds.KandiMenge.cardinality();
}
}
}
}
}
class Zelle {
int zeile, spalte, block, ziffer, anzahl;
BitSet KandiMenge;
}
Der Fehler kommt bei dem Befehl: ds.KandiMenge.set(i);
Im Voraus vielen Dank für eure Hilfe.
Wolle