Hallo zusammen,
registriert bin ich seit gestern und heute schon meine ersten Fragen an euch . Bitte vergebt mir meine amateurhafte Weise mich auszudrücken, ich versuche, so gut es mir möglich ist, das Fachvokabular der Java-Programmierung zu verwenden.
Vielleicht fange ich mit der Fehlermeldung an:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 0
at Game.CreateUniverse.setuniverse(CreateUniverse.java:28)
at Game.LostinAndromeda.main(LostinAndromeda.java:7)
Soweit habe ich die Fehlermeldung auch Verstanden, glaube ich jedenfalls. Problem ist, dass die Variable length, welche die Kantenlänge meiner Arrays repräsentiert, nicht ordnungsgemäß an das Array "universum" übergeben wird. Anschließend, wenn jedem Feld im Array der Wert 0 initialisiert werden soll, wird wohl ein Array-Feld aufgerufen, welches jenseits der definierten Kantenlänge liegt.
Bei meiner bisherigen Fehleranalyse fand ich heraus, dass, sofern ich die Variable "length" innerhalb der Klasse CreateUniverse deklariere und direkt mit einem Wert initialisiere, dieser Wert ordnungsgemäß an das Array übergeben wird. Und der gesamte Code keine Fehlermeldung mehr ausgibt. Daher liegt wohl das Problem in der Übergabe der Variablen length.
Es liegt folgender Code vor:
Beinhaltet die MainMethode:
Wird innerhalb der MainMethode aufgerufen:
registriert bin ich seit gestern und heute schon meine ersten Fragen an euch . Bitte vergebt mir meine amateurhafte Weise mich auszudrücken, ich versuche, so gut es mir möglich ist, das Fachvokabular der Java-Programmierung zu verwenden.
Vielleicht fange ich mit der Fehlermeldung an:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 0
at Game.CreateUniverse.setuniverse(CreateUniverse.java:28)
at Game.LostinAndromeda.main(LostinAndromeda.java:7)
Soweit habe ich die Fehlermeldung auch Verstanden, glaube ich jedenfalls. Problem ist, dass die Variable length, welche die Kantenlänge meiner Arrays repräsentiert, nicht ordnungsgemäß an das Array "universum" übergeben wird. Anschließend, wenn jedem Feld im Array der Wert 0 initialisiert werden soll, wird wohl ein Array-Feld aufgerufen, welches jenseits der definierten Kantenlänge liegt.
Bei meiner bisherigen Fehleranalyse fand ich heraus, dass, sofern ich die Variable "length" innerhalb der Klasse CreateUniverse deklariere und direkt mit einem Wert initialisiere, dieser Wert ordnungsgemäß an das Array übergeben wird. Und der gesamte Code keine Fehlermeldung mehr ausgibt. Daher liegt wohl das Problem in der Übergabe der Variablen length.
Es liegt folgender Code vor:
Beinhaltet die MainMethode:
Java:
package Game;
import javax.swing.JOptionPane;
public class LostinAndromeda {
public static void main (String [] args) {
CreateUniverse universe1 = new CreateUniverse(5);
universe1.setuniverse();
JOptionPane.showMessageDialog(null, "Damit ist das Universum " +universe1.universum.length +" Felder groß.");
int wert =universe1.readuniverse(Integer.parseInt (JOptionPane.showInputDialog("Gebe die xxx Koordinate ein:")),
Integer.parseInt (JOptionPane.showInputDialog("Gebe die yyy Koordinate ein:")),
Integer.parseInt (JOptionPane.showInputDialog("Gebe die xx Koordinate ein:")),
Integer.parseInt (JOptionPane.showInputDialog("Gebe die yy Koordinate ein:")),
Integer.parseInt (JOptionPane.showInputDialog("Gebe die x Koordinate ein:")),
Integer.parseInt (JOptionPane.showInputDialog("Gebe die y Koordinate ein:")));
JOptionPane.showMessageDialog(null, wert);
}
}
Wird innerhalb der MainMethode aufgerufen:
Java:
package Game;
public class CreateUniverse {
static int length;
public CreateUniverse (int a) {
length=a;
}
int [] [] [] [] [] [] universum = new int [length] [length] [length] [length] [length] [length];
public void setuniverse () {
int x;
int y;
int xx;
int yy;
int xxx;
int yyy;
for(int iyyy=1; iyyy<length; iyyy++) {
yyy=iyyy;
for(int ixxx=1; ixxx<length;ixxx++) {
xxx=ixxx;
for (int iyy=1; iyy<length; iyy++) {
yy=iyy;
for (int ixx=1; ixx<length; ixx++) {
xx=ixx;
for (int iy=1;iy< length;iy++) {
y=iy;
for (int ix=1;ix< length;ix++) {
x=ix;
universum [yyy][xxx][yy][xx][y][x] = 0;
}
}
}
}
}
}
}
public int readuniverse (int xxx, int yyy, int xx, int yy, int x, int y) {
return universum [yyy][xxx][yy][xx][y][x];
}
}