Numeros aleatorios en intervalos con JAVA

Lo primero que necesitamos saber es cómo generar un numero aleatorio en java, para ello tenemos el método random() de la clase Math. Dicho método tiene las siguientes particularidades:
  • Es un método static o perteneciente a la clase.
  • Devuelve un número de tipo double.
  • El número devuelto es positivo, mayor o igual que 0.0 y menor que 1.0.
Siguiendo estas tres reglas, podemos crear un número aleatorio de la siguiente manera:
double nAleatorio = Math.random();
Ahora bien, si lo que necesitamos es generar un número aleatorio que esté dentro de un intervalo, por ejemplo entre 1 y 100  haremos lo siguiente:

Con Math.random() obtenemos un número entre [0.0, 1.0) (el corchete es incluido y el paréntesis es NO incluido), si multiplicamos este número por 100, tenemos un número entre [0.0, 100.0). Por último solo necesitamos sumar 1 al resultado final y tendremos un número entre [1.0, 100.0]. Ahora solo nos falta convertir el tipo de nuestro número a int realizando un casting de tipo.

El ejemplo anterior podemos verlo realizar por pasos a continuación:
double nAleatorio = (Math.random() * 100) + 1;
int nAleatorioEntero = (int) nAleatorio;
Para generar un número entre 1 y 1000:
double nAleatorio = (Math.random() * 1000) + 1;
int nAleatorioEntero = (int) nAleatorio;
Para generar negativos, por ejemplo entre -50 y -1;
double nAleatorio = (Math.random() * 50) + 1;
int nAleatorioEntero = (int) -nAleatorio;

Comentarios

Entradas populares de este blog

Ordenar cualquier array con SORT en JAVA

Modificadores de acceso (public, protected y private) JAVA

Calcular factorial de un numero en JAVA