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:
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:
- 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
Publicar un comentario
Si tenéis alguna duda o sugerencia, no dudéis en comentar. ;)