Hallo,
ich habe mit folgendem Code ein Problem:
Mit diesem Codeschnipsel will ich die Klasse STR8T testen. Sie soll für ein Str8ts-Rätsel alle entscheidenden Informationen für eine Straße liefern. Dazu zählen mit dem ZPOS-Array auch die Positionen der einzelnen Zellen.
Zur Zeit verwende ich dazu in der Klasse STR8T nur zwei ZPOS-Objekte für die jeweils erste und letzte Zelle einer Straße. Das funktioniert sehr gut, hat aber den Nachteil, dass die Positionen der dazwischen liegenden Zellen jeweils neu berechnet werden müssen. Dies möchte ich gerne über ein dynamisches Array für die Positionen vermeiden. Leider bekomme ich aber hier im Konstruktor eine NullPointerException.
Kann mir bitte jemand sagen, was ich an meinem Code ändern muss, damit es nicht zu dieser NullPointerException kommt?
MfG, kodela
ich habe mit folgendem Code ein Problem:
Java:
package test;
public class TEST
{
static STR8T str = new STR8T(4);
private static void setTest(int len, int i, int z, int s) {
str.len = len;
str.pos[i].z = z;
str.pos[i].s = s;
}
static private class ZPOS {
int z;
int s;
public ZPOS() {
z = -1;
s = -1;
}
}
static private class STR8T {
ZPOS[] pos;
int len;
boolean geloest;
public STR8T(int zellen) {
for (int i = 0; i < zellen; i++) {
pos[i] = new ZPOS(); // NullPointerException für diese Zeile
}
len = 0;
geloest = false;
}
}
public static void main(String[] args) {
setTest(3, 2, 8, 5);
}
}
Zur Zeit verwende ich dazu in der Klasse STR8T nur zwei ZPOS-Objekte für die jeweils erste und letzte Zelle einer Straße. Das funktioniert sehr gut, hat aber den Nachteil, dass die Positionen der dazwischen liegenden Zellen jeweils neu berechnet werden müssen. Dies möchte ich gerne über ein dynamisches Array für die Positionen vermeiden. Leider bekomme ich aber hier im Konstruktor eine NullPointerException.
Kann mir bitte jemand sagen, was ich an meinem Code ändern muss, damit es nicht zu dieser NullPointerException kommt?
MfG, kodela