HendrikSai
Grünschnabel
Moin,
für eine Hausaufgabe soll ich einem zufällig generierten Array zwei zufällige Positionen tauschen. Das generieren hat des Arrays hat geklappt. Zwei Positionen zu tauschen bekomme ich dann leider nicht mehr hin... bei mir kann es auch sein, dass z.B. Pos3 mit Pos3 getauscht wird, also eig. nicht wirklich was getauscht wird. Wie verhindere ich diesen Fehler?
Mir ist klar, dass ich bei der Suche nach einer zweiten zufälligen Zahl das Array ohne "t1" betrachten muss, wüsste aber nicht wie ich das mache.
für eine Hausaufgabe soll ich einem zufällig generierten Array zwei zufällige Positionen tauschen. Das generieren hat des Arrays hat geklappt. Zwei Positionen zu tauschen bekomme ich dann leider nicht mehr hin... bei mir kann es auch sein, dass z.B. Pos3 mit Pos3 getauscht wird, also eig. nicht wirklich was getauscht wird. Wie verhindere ich diesen Fehler?
Mir ist klar, dass ich bei der Suche nach einer zweiten zufälligen Zahl das Array ohne "t1" betrachten muss, wüsste aber nicht wie ich das mache.
[CODE=java]public static int[] random(int size) {
int count = 0; // Zaehler fuer Statistikzwecke am Anfang 0
int[] result = new int[size];
System.out.print("Zufällig generiertes Array: ");
for (int i = 0; i < size; i++) {
result[i] = (int)(Math.random() * size + 1);
System.out.print(result[i] + " ");
}
while(count < size) {
int tmp;
int t1;
int t2;
Random r = new Random();
t1 = r.nextInt(result.length);
Random p = new Random();
t2 = p.nextInt(result.length);
tmp = result[t1];
result[t1] = result[t2];
result[t2] = tmp;
System.out.println("");
for (int i = 0; i < size; i++) {
System.out.print(result[i] + " ");
}
count++;
}
return result;
}[/CODE]