Heim >Java >javaLernprogramm >Math.random() vs. Random.nextInt(): Wann sollten Sie beide für die Zufallszahlengenerierung verwenden?
Warum Random.nextInt() anstelle von Math.random() verwenden?
Die Wahl zwischen Math.random() und Random.nextInt () hängt vom gewünschten ab Ergebnis.
Math.random()
Math.random() generiert ein zufälliges Double zwischen 0,0 und 0,9999999999999999 (eins weniger als 1,0). Die Multiplikation dieses Werts mit einer ganzen Zahl n ergibt ein Doppeltes zwischen 0,0 und n-1. Allerdings führt die Umwandlung dieses Doubles in eine ganze Zahl aufgrund der ungleichmäßigen Verteilung möglicher Werte zu einer Verzerrung. Insbesondere treten die Werte 0 und n mit größerer Wahrscheinlichkeit auf als andere Werte.
Random.nextInt()
Im Gegensatz dazu generiert Random.nextInt(n) eine Ganzzahl zwischen 0 und n-1 (einschließlich) mit gleichmäßiger Verteilung. Diese Methode verwendet einen effizienteren Algorithmus, wodurch sie sowohl schneller als auch zufälliger bleibt.
Warum Random.nextInt() für Würfelwürfe verwenden?
Für Würfelwürfe , Random.nextInt() ist wohl besser, weil:
Zusätzliche Überlegungen
Wie in einem im Sun-Forum verlinkten Beitrag hervorgehoben Antwort:
Das obige ist der detaillierte Inhalt vonMath.random() vs. Random.nextInt(): Wann sollten Sie beide für die Zufallszahlengenerierung verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!