Die Aufgabe: Gib eine Methode an , die das Ziehen von k Kugeln aus einer Urne mit n durchnummerierten Kugeln simuliert.Dabei soll das Feld der gezogenen Kugeln sortiert zurückgegeben werden. Kugeln werden nicht zurückgelegt.
Irgendwie klappt bei mir die vermeidung doppelter zufallszahlen nicht. Kann jemand meinen quellcode verbessern?
public void Lottozahlen(int k, int n)
{
Lottozahl = new int [n+1];
// Erzeugt k Zufallszahlen
for(int i = 1;i <= k;i++)
{
Lottozahl [i] = new Random().nextInt(n)+1;
}
// Verhindert, dass Zahlen doppelt vorkommen
for(int i = 1; i == k; i++)
{
for(int j = 1; j <= k; j++)
{
while(Lottozahl [i] == Lottozahl [j] & i != j)
{
Lottozahl [j] = new Random().nextInt(n)+1;
}
}
}
// Sortiert die Zahlen
for(int i = 1;i <= k; i++)
{
for(int j = 1;j <= k; j++)
{
if(Lottozahl [j] > Lottozahl [j+1])
{
x = Lottozahl [j];
Lottozahl [j] = Lottozahl [j+1];
Lottozahl [j+1] = x;
}
}
}
//Ausgabe
for (int i = 1; i <= k; i++)
{
System.out.println("Lottozahl "+i+": " + Lottozahl[i]);
}
}
LG Simon