Cómo generar un número aleatorio dentro de un rango especificado en Java

Cómo generar un número aleatorio dentro de un rango especificado en Java
El proceso de extraer un número utilizando cualquier algoritmo matemático se llama generación de números aleatorios. En la programación Java, algunas aplicaciones con frecuencia requieren la generación de enteros aleatorios, por ejemplo, el OTP (contraseña única). Muchas aplicaciones generan números aleatorios para utilizar el OTP para validar al usuario.

Esta publicación explicará los métodos para generar números aleatorios dentro del rango especificado en Java.

Cómo generar un número aleatorio dentro de un rango especificado en Java?

Para generar un número aleatorio dentro de un rango especificado, puede usar:

  • Matemáticas.Método Random ()
  • Aleatorio.Método NextInt ()
  • Aleatorio.método nextfloat ()
  • Aleatorio.método ints ()

Intentemos comprender el funcionamiento de estos métodos con ejemplos.

Método 1: Genere un número aleatorio doble dentro de un rango especificado utilizando matemáticas.Método Random ()

En esta sección, usaremos el "Matemáticas.aleatorio()"Método para generar números aleatorios. El método Random () es el método estático de la clase de matemáticas, por lo que se puede llamar directamente con el nombre de la clase y genera un "doble"Tipo número aleatorio entre el rango dado.

Sintaxis
Para generar un número aleatorio dentro de un rango particular utilizando las matemáticas.Método Random (), siga la sintaxis dada:

Matemáticas.Random () * (max_num - min_num)

El "max_num"Es el valor máximo mientras que el"min_num"¿Es el valor mínimo. Se agregan ambos valores para proporcionar un rango.

Ejemplo
En este ejemplo, primero crearemos dos variables de tipo entero ","max_num" y "min_num”Y asigne los siguientes valores:

int min_num = 14;
int max_num = 150;

Crearemos una variable de tipo entero más "rand_num"Que almacena un número aleatorio entre"0" a "136"; Como utilizando la fórmula especificada, cuando restamos min_num del max_num, devolverá 136. Entonces, el número aleatorio se generará entre 0 y 136:

doble rand_num = matemáticas.Random () * (max_num - min_num);

Imprima el valor aleatorio generado usando el "Sistema.afuera.println ()" método:

Sistema.afuera.println ("Número aleatorio:"+ rand_num);

La salida muestra el valor doble aleatorio "31.592 .. ."Entre el"0" a "136":

Ahora, verifiquemos el segundo método para generar un número aleatorio de tipo int tipo.

Método 2: generar un número aleatorio int dentro de un rango especificado utilizando aleatorios.Método NextInt ()

Para generar un número entero aleatorio dentro de un rango específico, use el "nextInt ()"Método de la clase Random Java. La clase aleatoria proporciona muchos métodos para generar números aleatorios en cualquier tipo, como flotación, doble, largo e int.

En esta sección, generaremos un número aleatorio de tipo INT utilizando el método de clase aleatoria.

Sintaxis
Siga la sintaxis dada para generar un número aleatorio de tipo entero usando la clase aleatoria:

rand.nextInt (max_num - min_num) + min_num;

Aquí, "rand"Es el objeto de la clase aleatoria que invoca el"nextInt ()"Método pasando"max_num" y "min_num"Como argumentos.

Ejemplo
En primer lugar, crearemos una instancia de la clase aleatoria llamada "rand":

Rand aleatorio = new Random ();

A continuación, cree una variable de tipo entero "X"Que almacena el número aleatorio generado invocando el"nextInt ()" método. Este método generará un número aleatorio entre "14" a "136"Porque, según la fórmula dada, cuando restamos 14 de 150, devolverá 136. Entonces, el número aleatorio se generará entre 14 y 136:

int x = rand.nextInt (max_num - min_num) + min_num;

Por último, imprima el número aleatorio generado en la consola:

Sistema.afuera.println ("Número aleatorio:"+ x);

Como se puede ver, "108"¿Es nuestro número aleatorio resultante:

Siga el procedimiento dado a continuación si desea generar un número de punto flotante aleatorio.

Método 3: Genere un número aleatorio de flotación dentro de un rango especificado utilizando aleatorios.método nextfloat ()

"nextfloat ()"Es un método de la clase aleatoria que genera números aleatorios en puntos flotantes. En esta sección, generaremos un número aleatorio en formato decimal con la ayuda del método mencionado.

Sintaxis
La sintaxis descrita se usa para el aleatorio.Método NextFloat ():

rand.nextfloat () * (max_num - min_num);

Aquí, "rand"Es el objeto de la clase aleatoria que invoca el"nextfloat ()"Método pasando dos números"max_num" y "min_num"Como parámetros

Ejemplo
Invocaremos el "nextfloat ()"Método pasando el ya creado"max_num" y "min_num"Variables como argumentos y almacenarlo en la variable de tipo flotante"Val".

flotante randomval = rand.nextfloat () * (max_num - min_num);

Imprima el valor de punto flotante aleatorio utilizando el "Sistema.afuera.println ()" método:

Sistema.afuera.println (randomval);

La salida significa que hemos generado con éxito un número de punto flotante dentro de un rango especificado:

Si desea generar una lista de números aleatorios en un rango especificado, siga la sección dada.

Método 4: Genere una lista de números aleatorios dentro de un rango especificado usando aleatorio.método ints ()

Para generar una lista de números aleatorios dentro de un rango específico, el "ints ()Se puede utilizar el método de la clase aleatoria. Este método devuelve un flujo de números enteros generados al azar hasta Infinity. Se puede usar dentro del rango especificado. El método ints () también le permite limitar el número de enteros especificando el tamaño de la secuencia.

Sintaxis
La siguiente sintaxis del "ints ()El método se utiliza para generar una lista de números aleatorios dentro de un rango específico:

rand.ints (límite, min_num, max_num);

Aquí, "rand"Es el objeto de la clase aleatoria que invoca el"ints ()"Método al pasar tres parámetros", "max_num" y "min_num"Y el límite que indica cuántos números aleatorios deberían estar presentes en la lista.

Ejemplo
Crearemos un objeto "es" del "Intstream"Interfaz, que almacenará la secuencia de números generados aleatoriamente. Aquí, pasaremos "3"Como límite, lo que significa que la lista resultante contendrá tres números:

Intstream es = rand.ints (3, min_num, max_num);

Por último, imprima los números generados al azar usando el "para cada" bucle:

es.foreach (sistema.out :: println);

Producción

Hemos recopilado toda la información esencial para generar números aleatorios dentro de un rango especificado en Java.

Conclusión

Para generar números aleatorios en un rango específico, Java admite diferentes métodos, matemáticas.Método aleatorio (), aleatorio.método nextInt (), aleatorio.método nextfloat () y aleatorio.método ints (). Puede usar estos métodos para generar números aleatorios de cualquier tipo, como doble, int, flotación, etc. Java también admite la generación de una lista de números aleatorios dentro de un rango específico utilizando el aleatorio.método ints (). En esta publicación, explicamos los métodos para generar números aleatorios dentro de un rango especificado en Java con ejemplos.