Zufall

B

ByeBye 158824

Hallo Leute,

ich habe einen int Array mit x elementen (Das x wird zur Laufzeit errechnet).
Aus diesen x elementen möchte ich zufällig einen Wert herausgreifen.

Hat irgendwer eine Idee, wie ich so etwas umsetzen könnte, denn ich stehe momentan ziemlich auf dem Schlauch.

Danke für jede Hilfe :)
 
Hi Zod,

Ich komm grad nicht runter vom diesem Schlauch :D, check noch immer nicht ganz wie das funktionieren soll.

In meinem Array speichere ich z.B. 3 Int Werte und aus diesen 3 Werten, soll exakt einer zufällig gewählt werden!

Was erreiche ich dann mit deinem ersten Lösungsvorschlag und was genau meinst du mit http://java.sun.com/javase/6/docs/ap...l#random() ?
 
Dort steht, dass Math.random() eine Zufallszahl zwischen 0.0 und 1.0 liefert.
Die um einen verringerte Anzahl der Elemente multipliziert mit einer solche Zufallszahl ergäbe (gerundet) ein zufälligen Index für dein Array.
 
Hi Zod,

jetzt geht mir ein Licht auf :). Super, vielen Dank für deine schnelle Hilfe, dass bringt mich weiter.

Viele Grüße,
Emil
 
http://java.sun.com/javase/6/docs/api/java/util/Random.html

Die Zufallszahl rechnest du dann modulo der Anzahl der Elemente.
Damit haben die Elemente zu Anfang vom Array aber eine höhere Wahrscheinlichkeit genommen zu werden.
Die Modulo-Operation braucht man nicht, wenn man den Bereich der erzeugten Pseudo-Zufallszahlen mit der entsprechenden Überladung von nextInt einschränkt. Außerdem erhält man so eine besser Annäherung an die Gleichverteilung (wenn auch keine perfekte, siehe Doku).

Grüße, Matthias
 

Neue Beiträge

Zurück