Hallo,
so wahnsinnig wesentlich anders ist mein Vorschlag nicht, doch finde ich ihn deutlich übersichtlicher:
[code=Java] public static void main(String[] args) {
int[] arrayZufall = new int[12];
Random rnd = new Random();
for (int i = 0; i < arrayZufall.length;) {
// trial
arrayZufall[i] = rnd.nextInt((20 - 1) + 1) + 1;
// check
int j;
for (j = 0; j < i; j++) {
if (arrayZufall[i] == arrayZufall[j]) break;
}
if (j==i) i++; // if valid, next i
}
// output
for (int i = 0; i < arrayZufall.length; i++) {
System.out.println(arrayZufall[i]);
}
}
[/code]Dir ist hoffentlich klar, dass bei dieser "Aufgabenstellung" (unabhängig, welchen Code du verwendest) das Array nicht beliebig groß gemacht werden darf, es droht sonst natürlich eine Endlosschleife?!
Grüße, Ulrich