Generación de números aleatorios en Java

Hay varias formas de generar números aleatorios con las librerías de JAVA 2. Si no usamos el método adecuado, probablemente obtendremos resultados inesperados o mal distribuidos en la generación de números aleatorios.
La clase java.util.Random está disponible desde la versión 1.2 del SDK. La clase tiene un método nextInt() que acepta un argumento entero.

public int nextInt(int n)

Dado algún valor mayor o igual cero pero menor que el entero pasado: 0 <= nextInt() < n.
Como muestra, aquí vemos el código que genera un conjunto de números aleatorios e imprime la media:

int count = 1000000;


int range = Integer.MAX_VALUE / 3 * 2;


double sum = 0;


Random rand = new Random();


for (int i=0; i


sum += rand.nextInt(range);


}


System.out.println(sum/count);


Existen métodos más antiguos, como el uso de la función nextInt() sin parámetros y después aplicar el operador abs y %, de la siguiente forma:

Math.abs(rand.nextInt()) % range;

Pero no es un sistema equivalente

No hay comentarios: