Saltar al contenido

Generando un número aleatorio entre 1 y 10 Java

Solución:

Como dice la documentación, esta llamada al método devuelve “un valor int pseudoaleatorio, uniformemente distribuido entre 0 (inclusive) y el valor especificado (exclusivo)”. Esto significa que obtendrá números del 0 al 9 en su caso. Entonces ha hecho todo correctamente agregando uno a ese número.

En términos generales, si necesita generar números a partir de min para max (incluidos ambos), escribe

random.nextInt(max - min + 1) + min

La forma estándar de hacer esto es la siguiente:

Proveer:

  • min Valor mínimo
  • max Valor máximo

y obtenga a cambio un número entero entre mínimo y máximo, inclusive.

Random rand = new Random();

// nextInt as provided by Random is exclusive of the top value so you need to add 1 

int randomNum = rand.nextInt((max - min) + 1) + min;

Consulte el archivo JavaDoc correspondiente.

Como explica Aurund, los objetos aleatorios creados con un intervalo de tiempo corto entre sí tenderán a producir un resultado similar, por lo que sería una buena idea mantener el objeto aleatorio creado como un campo, en lugar de como un método.

Esto funcionará para generar un número del 1 al 10. Asegúrese de importar Random en la parte superior de su código.

import java.util.Random;

Si quieres probarlo, prueba algo como esto.

Random rn = new Random();

for(int i =0; i < 100; i++)
{
    int answer = rn.nextInt(10) + 1;
    System.out.println(answer);
}

Además, si cambia el número entre paréntesis, se creará un número aleatorio de 0 a ese número -1 (a menos que agregue uno, por supuesto, como lo hizo, entonces será del 1 al número que ingresó).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *