C
coolz3ro
Neues Mitglied
- 0
Hallo! Ich möchte eine Methode schreiben, die mir bei Aufruf eine Zufallszahl zurück gibt. Diese Zufallszahl soll allerdings unterschiedlich sein zu jenen Zahlen, die in der Integer-List "nicht" gespeichert sind.
(Die Methode wird öfters aufgerufen [wie oft ist unbekannt, deshalb das Objekt!] und die jeweils zurück gegebenen Zahlen dann in dieser Liste gespeichert. Es sollen also bei jedem Aufruf unterschiedliche Zahlen von der Methode zurück gegeben werden, die vorher noch nicht zurück gegeben wurden.)
Das Problem: Es wird zwar eine zufällige Zahl zwischen 0 und 4 zurück gegeben und die Integer-List wird auch kontinuierlich erweitert um diese Zahl, aber die zurück gegebenen Zahlen wiederholen sich trotzdem.
Hier die Methode:
Hier der Methodenaufruf und der befehl zur Speicherung in der List:
(Die Methode wird öfters aufgerufen [wie oft ist unbekannt, deshalb das Objekt!] und die jeweils zurück gegebenen Zahlen dann in dieser Liste gespeichert. Es sollen also bei jedem Aufruf unterschiedliche Zahlen von der Methode zurück gegeben werden, die vorher noch nicht zurück gegeben wurden.)
Das Problem: Es wird zwar eine zufällige Zahl zwischen 0 und 4 zurück gegeben und die Integer-List wird auch kontinuierlich erweitert um diese Zahl, aber die zurück gegebenen Zahlen wiederholen sich trotzdem.
Hier die Methode:
Code:
public int getZufallszahl(List<Integer> nicht){
int[] intArray = new int[nicht.size()];
for (int i = 0; i < nicht.size(); i++) {
intArray[i] = nicht.get(i);
}
Random ra = new Random();
int zahl;
zahl = ra.nextInt(5);
while (Arrays.asList(intArray).contains(zahl)) {
zahl = ra.nextInt(5);
}
return zahl;
}
Hier der Methodenaufruf und der befehl zur Speicherung in der List:
Code:
zufallszahl = getZufallszahl(nicht);
nicht.add(new Integer(zufallszahl));