Heim >Java >javaLernprogramm >Warum scheinen meine Zufallszahlen in Java jedes Mal gleich zu sein?
Zufallszahlen mithilfe von Seeds in Java verstehen
In Java wird ein Seed verwendet, um eine Zufallsinstanz zu initialisieren und eine Folge von Pseudozufallszahlen zu generieren . Wenn derselbe Startwert bereitgestellt wird, erzeugt die Random-Instanz dieselbe Zahlenfolge.
Warum sind meine Zufallszahlen jedes Mal gleich?
Im bereitgestellten Code:
double num = generator.nextDouble() * (0.5);
Sie verwenden für jeden Aufruf von randomGenerator denselben Startwert, was zu derselben Zufallssequenz führt Zahlen.
So beheben Sie das Problem
So generieren Sie verschiedene Folgen von Zufallszahlen mit einem Startwert:
Beispiel:
private Random generator = new Random(); // outside randomGenerator double randomGenerator() { return generator.nextDouble() * (0.5); // inside randomGenerator }
Pseudozufallszahlengenerierung
Pseudozufallszahlengeneratoren (PRNGs) generieren Sequenzen, die zufällig erscheinen, aber sind deterministisch und haben einen Anfangswert. Wenn derselbe Seed verwendet wird, erzeugt der PRNG dieselbe Sequenz.
Das obige ist der detaillierte Inhalt vonWarum scheinen meine Zufallszahlen in Java jedes Mal gleich zu sein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!