Random.NextInt Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
NextInt() |
Retourne la valeur pseudo-random suivante, uniformément distribuée |
NextInt(Int32) |
Retourne un pseudo-random, une valeur distribuée |
NextInt()
Retourne la valeur pseudo-random suivante, uniformément distribuée int
à partir de la séquence du générateur de nombres aléatoires.
[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
Retours
la pseudo-random suivante, uniformément distribuée int
à partir de la séquence du générateur de nombres aléatoires
- Attributs
Remarques
Retourne la valeur pseudo-random suivante, uniformément distribuée int
à partir de la séquence du générateur de nombres aléatoires. Le contrat général d’est nextInt
qu’une int
valeur est générée pseudorandomement et retournée. Toutes les 2<sup>32</sup> valeurs possibles int
sont produites avec (environ) une probabilité égale.
La méthode nextInt
est implémentée par classe Random
comme si :
{@code
public int nextInt() {
return next(32);
}}
Documentation Java pour java.util.Random.nextInt()
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
S’applique à
NextInt(Int32)
Retourne un pseudo-random, une valeur distribuée int
uniformément entre 0 (inclus) et la valeur spécifiée (exclusive), tirée de la séquence de ce générateur de nombres aléatoires.
[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
Paramètres
- bound
- Int32
limite supérieure (exclusive). Doit être positif.
Retours
la pseudo-random suivante, uniformément distribuée int
entre zéro (inclusif) et bound
(exclusif) de la séquence de ce générateur de nombres aléatoires
- Attributs
Remarques
Retourne un pseudo-random, une valeur distribuée int
uniformément entre 0 (inclus) et la valeur spécifiée (exclusive), tirée de la séquence de ce générateur de nombres aléatoires. Le contrat général d’est nextInt
qu’une int
valeur dans la plage spécifiée est pseudo-générée et retournée. Toutes les bound
valeurs possibles int
sont produites avec (environ) une probabilité égale. La méthode nextInt(int bound)
est implémentée par classe Random
comme si :
{@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;
}}
La couverture « approximativement » est utilisée dans la description précédente uniquement parce que la méthode suivante n’est qu’une source non biaisée de bits choisis indépendamment. S’il s’agissait d’une source parfaite de bits choisis de façon aléatoire, l’algorithme indiqué choisirait int
les valeurs de la plage indiquée avec une uniformité parfaite.
L’algorithme est légèrement délicat. Elle rejette les valeurs qui entraîneraient une distribution inégale (en raison du fait que 2^31 n’est pas divisible par n). La probabilité d’un rejet d’une valeur dépend de n. Le pire cas est n=2^30+1, pour lequel la probabilité d’un rejet est de 1/2, et le nombre attendu d’itérations avant la fin de la boucle est 2.
L’algorithme traite le cas où n est une puissance de deux spécialement : il retourne le nombre correct de bits à ordre élevé à partir du générateur de nombre pseudo-aléatoire sous-jacent. En l’absence de traitement spécial, le nombre correct de bits de faible ordre serait retourné. Les générateurs de nombres pseudo-aléatoires linéaires tels que ceux implémentés par cette classe sont connus pour avoir des périodes courtes dans la séquence de valeurs de leurs bits de faible ordre. Ainsi, ce cas spécial augmente considérablement la longueur de la séquence de valeurs retournée par des appels successifs à cette méthode si n est une petite puissance de deux.
Ajouté dans la version 1.2.
Documentation Java pour java.util.Random.nextInt(int)
.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.