Partager via


Random.NextInt Méthode

Définition

Surcharges

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.

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.

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.

S’applique à