Random() - Zufallsfunktion/Zufallszahlen

Bei vielen Computerspielen sind Zufallszahlen von großer Bedeutung, beispielsweise um Spielfiguren mit Stärke oder Lebenspunkten zu initialisieren.

Eine ganzzahlige Zufallszahl zwischen 1 und 100 kann beispielsweise so erzeugt werden:

int zufallszahl = (int) Math.floor(Math.random() * 100) + 1;

Wir betrachten diese Anweisung einmal von innen nach außen:

Die Methode Math.random() erzeugt eine zufällige Dezimalzahl im Intervall von 0 einschließlich bis 1 ausschließlich.

Durch die Multiplikation mit 100 entstehen Werte zwischen 0 und knapp unter 100. Math.floor() rundet anschließend auf die nächstkleinere ganze Zahl ab.

Da Math.floor() einen Wert vom Typ double liefert, wird dieser mit (int) in eine ganze Zahl umgewandelt. Dadurch ergeben sich die ganzen Zahlen von 0 bis 99. Durch die abschließende Addition von 1 erhält man schließlich Zufallszahlen von 1 bis 100.

Noch ein weiteres Beispiel:

int zufallszahl = (int) Math.floor(Math.random() * 11) - 5;

Zunächst entstehen durch Math.random(), die Multiplikation mit 11 und das Abrunden ganze Zahlen von 0 bis 10. Anschließend wird 5 subtrahiert.

Insgesamt entstehen damit ganzzahlige Zufallszahlen von −5 bis 5.