Ich habe eine Klasse "AndererTest", "xyPosition" und eine Klasse "Testerklasse".In der Klasse "AndererTest" wird eine ArrayList namens "abzufragendeKoordinaten" erstellt und außerdem auch ein mehrdimensionales Array "stringarray", welches Strings speichert. Ich möchte die Inhalte des "stringarray" ausgeben, aber in zufälliger Reihenfolge. Voher habe ich in der Klasse "TesterKlasse" - welche quasi hier die Main - Klasse mit der main methode sein soll - strings dem "stringarray" zugeordnet:
Klasse TesterKlasse:
Ausgegeben soll das "stringarray" mit der Methode arrayDurchlaufen(). Ausgegeben wird aber immer nur:
anstatt z.B.:
stringarray[2] [0] = f;
stringarray[1] [1] = "d";
stringarray[0] [2] = "b";
stringarray[2] [2] = "h";
//...
Hier ist der Code zur kritischen Klasse "AndererTest":
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
public class AndererTest {
static Random random = new Random();
static xyPosition nullnull = new xyPosition(0,0);
static xyPosition nulleins = new xyPosition(0,1);
static xyPosition nullzwei = new xyPosition(0,2);
static xyPosition einsnull = new xyPosition(1,0);
static xyPosition einseins = new xyPosition(1, 1);
static xyPosition einszwei = new xyPosition(1, 2);
static xyPosition zweinull = new xyPosition(2, 0);
static xyPosition zweieins = new xyPosition(2, 1);
static xyPosition zweizwei = new xyPosition(2, 2);
static ArrayList<xyPosition> abzufragendeKoordinaten = new ArrayList<>(Arrays.asList( nullnull, nulleins, nullzwei, einsnull, einseins, einszwei, zweinull, zweieins, zweizwei));
static String[] [] stringarray = new String[3] [3];
static int zufälligeMöglicheyPosition;
static int zufälligeMöglichexPosition;
public int getZufälligeMöglicheyPosition() {
return zufälligeMöglicheyPosition;
}
public int getZufälligeMöglichexPosition() {
return zufälligeMöglichexPosition;
}
public static void durchlaufeArray() {
for (int i = 0; i < 9; i++) {
int grenzeminuseins = abzufragendeKoordinaten.size() - 1;
int zufälligerindex = random.nextInt(abzufragendeKoordinaten.size() - 1) + 0;
zufälligeMöglicheyPosition = abzufragendeKoordinaten.get(zufälligerindex).gety();
zufälligeMöglichexPosition = abzufragendeKoordinaten.get(zufälligerindex).getx();
abzufragendeKoordinaten.remove(zufälligerindex);
System.out.println("stringarray[" + zufälligeMöglicheyPosition + "] [" + zufälligeMöglichexPosition + "] = " + stringarray[zufälligeMöglicheyPosition] [zufälligeMöglichexPosition]);
}
}
}
Der Code zur Klasse xyPosition ist einfach und hier liegt der Fehler bestimmt nicht drin:
public class xyPosition {
static int x;
static int y;
public static Object xyPosition;
public xyPosition(int pX, int pY) {
x = pX;
y = pY;
}
public int getx() { return x; }
public int gety() { return y; }
}
Bilder habe ich hier nur wegen der "nicht mehr genug Zeichen" - Funktion verw.
Biite helft mir, ich sitze schon seit 2 Tagen vor diesem Bug🤬