Random.NextInt Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
NextInt() |
Gibt den nächsten pseudozufälligen, gleichmäßig verteilten |
NextInt(Int32) |
Gibt einen pseudorandom, gleichmäßig verteilten |
NextInt()
Gibt den nächsten pseudozufälligen, gleichmäßig verteilten int
Wert aus der Sequenz dieses Zufallszahlengenerators zurück.
[Android.Runtime.Register("nextInt", "()I", "GetNextIntHandler")]
public virtual int NextInt ();
[<Android.Runtime.Register("nextInt", "()I", "GetNextIntHandler")>]
abstract member NextInt : unit -> int
override this.NextInt : unit -> int
Gibt zurück
der nächste pseudorandom, einheitlich verteilte int
Wert aus der Sequenz des Zufallszahlengenerators
- Attribute
Hinweise
Gibt den nächsten pseudozufälligen, gleichmäßig verteilten int
Wert aus der Sequenz dieses Zufallszahlengenerators zurück. Der allgemeine Vertrag ist nextInt
, dass ein int
Wert pseudozufällig generiert und zurückgegeben wird. Alle 2<sup>32</sup> möglichen int
Werte werden mit (ungefähr) gleicher Wahrscheinlichkeit erzeugt.
Die Methode nextInt
wird von klasse Random
implementiert, als wäre es wie folgt:
{@code
public int nextInt() {
return next(32);
}}
Java-Dokumentation für java.util.Random.nextInt()
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Gilt für:
NextInt(Int32)
Gibt einen pseudorandom, gleichmäßig verteilten int
Wert zwischen 0 (einschließlich) und dem angegebenen Wert (exklusiv) zurück, der aus der Sequenz des Zufallszahlengenerators gezeichnet wird.
[Android.Runtime.Register("nextInt", "(I)I", "GetNextInt_IHandler")]
public virtual int NextInt (int bound);
[<Android.Runtime.Register("nextInt", "(I)I", "GetNextInt_IHandler")>]
abstract member NextInt : int -> int
override this.NextInt : int -> int
Parameter
- bound
- Int32
die obere Grenze (exklusiv). Muss positiv sein.
Gibt zurück
der nächste pseudorandom, einheitlich verteilte int
Wert zwischen Null (einschließlich) und bound
(exklusiv) aus der Sequenz des Zufallszahlengenerators
- Attribute
Hinweise
Gibt einen pseudorandom, gleichmäßig verteilten int
Wert zwischen 0 (einschließlich) und dem angegebenen Wert (exklusiv) zurück, der aus der Sequenz des Zufallszahlengenerators gezeichnet wird. Der allgemeine Vertrag ist nextInt
, dass ein int
Wert im angegebenen Bereich pseudozufällig generiert und zurückgegeben wird. Alle bound
möglichen int
Werte werden mit (ungefähr) gleicher Wahrscheinlichkeit erzeugt. Die Methode nextInt(int bound)
wird von klasse Random
implementiert, als wäre es wie folgt:
{@code
public int nextInt(int bound) {
if (bound <= 0)
throw new IllegalArgumentException("bound must be positive");
if ((bound & -bound) == bound) // i.e., bound is a power of 2
return (int)((bound * (long)next(31)) >> 31);
int bits, val;
do {
bits = next(31);
val = bits % bound;
} while (bits - val + (bound-1) < 0);
return val;
}}
Die Hecke "ungefähr" wird in der vorstehenden Beschreibung nur verwendet, weil die nächste Methode nur ungefähr eine unvoreingenommene Quelle von unabhängig gewählten Bits ist. Wenn es sich um eine perfekte Quelle zufällig gewählter Bits handelte, würde der gezeigte Algorithmus Werte aus dem angegebenen Bereich mit perfekter Uniformität auswählen int
.
Der Algorithmus ist leicht schwierig. Sie lehnt Werte ab, die zu einer ungleichmäßigen Verteilung führen würden (aufgrund der Tatsache, dass 2^31 nicht durch n divisierbar ist). Die Wahrscheinlichkeit eines abgelehnten Werts hängt von n ab. Der worst case is n=2^30+1, for which the probability of a reject is 1/2, and the expected number of iterations before the loop terminates is 2.
Der Algorithmus behandelt den Fall, wenn n eine Leistung von zwei speziellen Ist: es gibt die richtige Anzahl von Bits mit hoher Reihenfolge aus dem zugrunde liegenden Pseudo-Zufallszahlengenerator zurück. In Abwesenheit einer speziellen Behandlung würde die richtige Anzahl von Bits mit niedriger Reihenfolge zurückgegeben. Lineare zufallsbezogene Pseudozahlengeneratoren wie die von dieser Klasse implementierte Zufallszahl sind bekanntermaßen kurze Zeiträume in der Abfolge der Werte ihrer Bits mit niedriger Reihenfolge. Daher erhöht dieser Sonderfall die Länge der Von aufeinander folgenden Aufrufen dieser Methode zurückgegebenen Werte erheblich, wenn n eine kleine Potenz von zwei ist.
In 1.2 hinzugefügt.
Java-Dokumentation für java.util.Random.nextInt(int)
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.