RandomFunktion
-
Hallo zusammen,
Ich habe folgendes Problem : Ich muss eine Funktion schreiben, die nacheinander Zufallszahlen ausgeben soll. (10 zahlen insgesamt).
Allerdings soll immer nur dann eine Zahl ausgegeben werden,
wenn diese noch nicht dran war.class cRandom { int Ermitteln(int RandZahl) { int ActZahl = RandZahl; return ActZahl; } }
Hat jemand evl. eine Idee wie ich das bewerkstelligen kann?
-
Fertige Lösung bietet die Methode shuffle.
Sortiert allerdings eine List, was aber eigentlich kein
Problem sein sollte.Jockel
-
Ohne jetzt nähere Details zu haben:
public static void main(String[] args) { // Initialisiere das verwendete Bitfeld sowie den Zufallsgenerator BitSet b = new BitSet(); Random r = new Random(System.currentTimeMillis()); /* 10 unterschiedliche Zahlen ziehen. Die gezogenen Zahlen werden im Bitfeld abgelegt */ int cnt = 0; while (cnt < 10) { r.setSeed(System.currentTimeMillis()); int num = 1 + Math.abs(r.nextInt()) % 100; if (!b.get(num)) { b.set(num); ++cnt; } } System.out.println(b.toString()); }
-
Hallo,
Ich hab den Code getestet. Allerdings funktioniert der Zufall, lediglich bei einem hohen Zahlenbereich. Wenn ich 10 Zahlen im Wertebereich 0-9 ausgeben will, kriege ich immer Stur die Reihenfolge 0,1,2,3,4, etc.
Und nochwas : Ich kenne mich mit Bitfeldern nicht aus, kann mir jemand erklären wie ich die Werte aus dem Bitfeld in ein Integer Array bekomme?
Danke im Voraus...