Mehrere Zufallszahlen erzeugen, aber keine darf doppelt erzeugt werden - Wie?

Jack159

Bekanntes Mitglied
Hallo,

Ich habe folgenden Code:

Java:
int anzahlZiele;
String trefferListe2[] = new String[12]

		 for (int i = 0; i<anzahlZiele; i++) {
			 int indexZiel = myRandom(1, 11);
			 trefferListe2[indexZiel] = "Treffer";
			}

 
public static int myRandom(int low, int high) {  
        return (int) (Math.random() * (high - low) + low);  
    }

Mein Ziel ist es, dass x Felder in trefferListe2 mit dem String "Treffer" belegt werden, jedoch an zufällig ausgewählten Feldpositionen (von den 12 Feldpositionen).

Bei dem oben stehenden Code habe ich das Problem, dass es vorkommen kann, dass ich zwar anzahlZiele=3 habe, jedoch durch indexZiel beim Schleifendurchlauf mehrfach an der selben Feldposition "Treffer" belegt wird. Damit wäre dann anzahlZiele=3, jedoch habe ich eigentlich nur 2 Felder belegt, anstatt wie vorgesehen 3 Felder.

Ich muss es hinkriegen, dass keine Feldposition im Array doppelt belegt wird. Wie kriege ich das hin?
 
Möglichkeit 1: Du musst dir merken welche Zufallszahlen schon gezogen wurden.
Möglichkeit 2: Liste mit Zahlen füllen (1 bis 11), Liste sortieren, die ersten x Zufallszahlen der Liste nehmen.
 

Zurück
Oben