Red de conocimiento informático - Aprendizaje de programación - El método nextInt( ) de java.util.Random genera números pseudoaleatorios de tipo entero positivo. ¿Por qué esta frase es incorrecta?

El método nextInt( ) de java.util.Random genera números pseudoaleatorios de tipo entero positivo. ¿Por qué esta frase es incorrecta?

Los enteros positivos definitivamente son incorrectos, la definición oficial de la API de Java dice esto

Random nextInt

public int nextInt(int n) devuelve un número pseudoaleatorio, que se deriva del número aleatorio número Una cadena de valores int extraídos del generador de números, que se distribuyen uniformemente entre 0 (inclusive) y el valor especificado (exclusivo).

El código fuente es el siguiente:

public int nextInt(int n) {

if (n<=0)

throw new IllegalArgumentException ("n debe ser positivo");

if (( n & -n) == n) // es decir, n es una potencia de 2

return ( int)( (n * (long)siguiente(31)) >> 31);

int bits, val;

hacer {

bits = siguiente (31) ;

val = bits % n;

} while(bits - val + (n-1) < 0);

return val;

}