Wie erzeugt man in Java eine Zufallszahl?

Zur Erzeugung von Pseudo-Zufallszahlen gibt es in Java verschiedene Vorgehensweisen.

Die Klasse Math bietet die statische Methode random() zur Erzeugung einer double-Zufallszahl im halboffenen Intervall \([0.0; 1.0[\) an.

Oft benötigt man ganzzahlige Zufallszahlen in einem bestimmten Bereich. Um Zufallszahlen aus der Menge \(\{a, a+1, …, b-1\}\) zu erzeugen, kann man folgenden Ausdruck verwenden:

int z = a + (int) (Math.random() * (b - a));

Mehr Möglichkeiten zum Erzeugen von Zufallszahlen bietet die Klasse java.util.Random.

Random r = new Random();
int z1 = r.nextInt(10); 
double z2 = r.nextDouble();
boolean z3 = r.nextBoolean();
double z4 = r.nextGaussian();

In Zeile 1 wird ein neues Random-Objekt erzeugt.
In Zeile 2 liefert der Aufruf der Methode nextInt() mit dem Argument 10 eine Zufallszahl aus der Menge \(\{0, 1, …, 9\}\).
In Zeile 3 liefert die Methode nextDouble() eine double-Zufallszahl im halboffenen Intervall \([0.0; 1.0[\).
In Zeile 4 wird mit der Methode nextBoolean() ein zufälliger Wahrheitswert erzeugt.
In Zeile 5 wird eine normalverteilte Zufallszahl generiert.