Java/Zufallszahl: Unterschied zwischen den Versionen
main>ZUM-Wiki-Bot (→Eine einfache Methode, die eine Zufallszahl zurückgibt: java -> source using AWB) |
(kat) Markierung: 2017-Quelltext-Bearbeitung |
||
(10 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<!--<language>Java</language>--> | |||
==Eine einfache Methode, die eine Zufallszahl zurückgibt== | |||
<source lang="java"> | <source lang="java"> | ||
// gibt eine Zufallszahl zwischen 1 und pMaximum zurück | // gibt eine Zufallszahl zwischen 1 und pMaximum zurück | ||
Zeile 7: | Zeile 7: | ||
return (int) ((Math.random()*pMaximum)+1); | return (int) ((Math.random()*pMaximum)+1); | ||
} | } | ||
</ | </source> | ||
==Erläuterung== | ==Erläuterung== | ||
Zeile 33: | Zeile 33: | ||
}} | }} | ||
== | ==Linkliste== | ||
* [http://www.dpunkt.de/java/Referenz/Das_Paket_java.util/45.html Referenz Klasse java.util.Random] | * [http://www.dpunkt.de/java/Referenz/Das_Paket_java.util/45.html Referenz Klasse java.util.Random] | ||
* [http://www-i2.informatik.rwth-aachen.de/lufgi2/programmierung/uebungsblaetter/Zufall.java Zufall.java] | * [http://www-i2.informatik.rwth-aachen.de/lufgi2/programmierung/uebungsblaetter/Zufall.java Zufall.java] | ||
Zeile 43: | Zeile 43: | ||
* [[Java]] | * [[Java]] | ||
{{SORTIERUNG:Zufallszahl}} | |||
[[Kategorie:Informatik]] | [[Kategorie:Informatik]] | ||
[[Kategorie:Java]] | [[Kategorie:Java]] | ||
[[Kategorie:Unterrichtsidee]] |
Aktuelle Version vom 14. Juli 2021, 15:26 Uhr
Eine einfache Methode, die eine Zufallszahl zurückgibt
// gibt eine Zufallszahl zwischen 1 und pMaximum zurück
public int gibZufallszahl(int pMaximum) {
return (int) ((Math.random()*pMaximum)+1);
}
Erläuterung
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.
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.
|
- 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?
Linkliste
- Referenz Klasse java.util.Random
- Zufall.java
- Ein einfaches Kniffelspiel
- Zufallszahlengenerator
- Pseudozufallszahl