Java/Zufallszahl

Aus ZUM-Unterrichten

Vorlage:Kurzinfo-4

Eine einfache Methode, die eine Zufallszahl zurückgibt

<source lang="java">

   // gibt eine Zufallszahl zwischen 1 und pMaximum zurück
   public int gibZufallszahl(int pMaximum) {
       return  (int) ((Math.random()*pMaximum)+1);
   }

</java>

Erläuterung

Zitat

Random kann zur Erzeugung von Pseudozufallszahlen benutzt werden. Die statische Funktion Math.random() macht z.B. direkt Gebrauch davon. Random erzeugt eine Pseudo-Zufallszahl, d.h. keine richtige Zufallszahl. Der Unterschied liegt darin, daß zwei Random-Instanzen, wenn sie direkt gleichzeitig gestartet werden, genau die gleichen Zufallszahlen erzeugen (was bei "echten" Zufallszahlen nicht der Fall wäre. Um dieses Manko abzuschalten gibt es eine abgeleitete Klasse SecureRandom, die "echte" Zufallszahlen mit anderen numerischen Algorithmen erstellt als Random. Random benutzt einen 48-Bit großen Startwert ("seed") zur Erzeugung der Zufallszahlen. Die Zufallszahlen liegen immer im Bereich zwischen 0.0 und 1.0.


http://de.wikibooks.org/wiki/Java_Standard:_Random

Zufallszahl

Als Zufallszahl wird das Ergebnis von speziellen Zufallsexperimenten bezeichnet.

Zufallszahlen werden bei verschiedenen Methoden der Statistik benötigt, z. B. bei der Auswahl einer repräsentativen Stichprobe aus einer Grundgesamtheit, bei der Verteilung von Versuchstieren auf verschiedene Versuchsgruppen (Randomisierung), bei der Monte-Carlo-Simulation u. a.

Zur Erzeugung von Zufallszahlen gibt es verschiedene Verfahren. Diese werden als Zufallszahlengeneratoren bezeichnet. Ein entscheidendes Kriterium für Zufallszahlen ist, ob das Ergebnis der Generierung als unabhängig von früheren Ergebnissen angesehen werden kann oder nicht.

Echte Zufallszahlen werden mit Hilfe physikalischer Phänomene erzeugt: Münzwurf, Würfel, Roulette, Rauschen elektronischer Bauelemente, radioaktive Zerfallsprozesse oder quantenphysikalische Effekte. Diese Verfahren nennen sich physikalische Zufallszahlengeneratoren, sind jedoch zeitlich oder technisch recht aufwändig.

In der realen Anwendung genügt häufig eine Folge von Pseudozufallszahlen, das sind scheinbar zufällige Zahlen, die nach einem festen, reproduzierbaren Verfahren erzeugt werden. Sie sind also nicht zufällig, da sie sich vorhersagen lassen, haben aber ähnliche statistische Eigenschaften (gleichmäßige Häufigkeitsverteilung, geringe Korrelation) wie echte Zufallszahlenfolgen. Solche Verfahren nennt man Pseudozufallszahlengeneratoren.


Wikipedia-logo.png Zufallszahl, Wikipedia – Die freie Enzyklopädie, 31.10.2006 - Der Text ist unter der Lizenz „Creative Commons Attribution/Share Alike“ verfügbar; zusätzliche Bedingungen können anwendbar sein. Siehe die Nutzungsbedingungen für Einzelheiten. In der Wikipedia ist eine Liste der Autoren verfügbar.



Übung
  • Erläutern Sie den Unterschied zwischen eine Zufallszahl und einer Pseudozufallszahl.
  • Erarbeiten Sie Kriterien für einen "geeignete" Zufallszahlgenerator und prüfen Sie, ob bei Java diese Kriterien erfüllt sind.
  • Implementieren Sie einen Lottozahlengenerator. Achtung: Wie lösen Sie das Problem, dass eine gezogene Zahl nicht wieder vorkommen darf?


Weblinks

Siehe auch