Genere un número aleatorio dentro de un rango especificado en Java

Mohammad Irfan 12 octubre 2023
  1. Genere un número aleatorio usando la clase ThreadLocalRandom en Java
  2. Genere un número aleatorio usando la clase Math en Java
  3. Genere un número aleatorio usando la clase Random en Java
  4. Genere un número aleatorio usando la clase Random en Java
  5. Genere un número aleatorio usando la clase Random e IntStream en Java
  6. Genere un número aleatorio usando el método nextFloat en Java
  7. Genere un número aleatorio usando la clase RandomData en Java
  8. Genere un número aleatorio usando la clase SecureRandom en Java
  9. Genere un número aleatorio usando la clase RandomUtils en Java
Genere un número aleatorio dentro de un rango especificado en Java

Este tutorial presenta cómo generar un número aleatorio dentro de un rango específico en Java.

Hay varias formas de generar números aleatorios en Java, como el método nextInt() de la clase ThreadLocalRandom, el método random() de la clase Math, el método nextInt() de la La clase Random, el método ints() de la clase Random, el método nextFloat() de la clase Random y la clase RandomUtil, etc.

Genere un número aleatorio usando la clase ThreadLocalRandom en Java

El paquete concurrente de Java proporciona una clase ThreadLocalRandom que tiene el método nextInt(). Este método puede generar un número entero aleatorio dentro del rango especificado. Vea el siguiente ejemplo.

import java.util.concurrent.ThreadLocalRandom;

public class SimpleTesting {
  public static void main(String[] args) {
    int min_val = 10;
    int max_val = 100;
    ThreadLocalRandom tlr = ThreadLocalRandom.current();
    int randomNum = tlr.nextInt(min_val, max_val + 1);
    System.out.println("Random Number: " + randomNum);
  }
}

Producción :

Value in double: 12.9
Value in int: 12

Genere un número aleatorio usando la clase Math en Java

La clase Java Math se puede utilizar para generar un número aleatorio dentro del rango especificado. Aquí, usamos el método random() de la clase Math para obtener un número aleatorio. Vea el ejemplo a continuación.

public class SimpleTesting {
  public static void main(String[] args) {
    int min_val = 10;
    int max_val = 100;
    double randomNum = Math.random() * (max_val - min_val);
    System.out.println("Random Number: " + randomNum);
  }
}

Producción :

Id: 1212
Name: Samre

Genere un número aleatorio usando la clase Random en Java

La clase Random de Java puede generar un número entero aleatorio dentro del rango especificado utilizando el método nextInt(), que devuelve un valor entero. Vea el ejemplo a continuación.

import java.util.Random;
public class SimpleTesting {
  public static void main(String[] args) {
    int min_val = 10;
    int max_val = 100;
    Random ran = new Random();
    int x = ran.nextInt(max_val) + min_val;
    System.out.println("Random Number: " + x);
  }
}

Producción :

Id: 1212
Name: Samre

Genere un número aleatorio usando la clase Random en Java

Esta es otra solución para obtener un número entero aleatorio dentro del rango especificado. Aquí, usamos el método nextInt() de la clase Random con diferentes parámetros. Vea el ejemplo a continuación.

import java.util.Random;
public class SimpleTesting {
  public static void main(String[] args) {
    int min_val = 10;
    int max_val = 100;
    Random rand = new Random();
    int randomNum = min_val + rand.nextInt((max_val - min_val) + 1);
    System.out.println("Random Number: " + randomNum);
  }
}

Producción :

Random Number: 75

Genere un número aleatorio usando la clase Random e IntStream en Java

Aquí, usamos el método ints() de la clase Random que devuelve un flujo de números aleatorios. Usamos el método forEach() para imprimir todos los enteros aleatorios generados por el método ints(). Vea el siguiente ejemplo.

import java.util.Random;
import java.util.stream.IntStream;
public class SimpleTesting {
  public static void main(String[] args) {
    int min_val = 10;
    int max_val = 100;
    Random rand = new Random();
    IntStream stream = rand.ints(5, min_val, max_val);
    stream.forEach(System.out::println);
  }
}

Producción :

94
35
90
74
47

Genere un número aleatorio usando el método nextFloat en Java

La clase Random proporciona un método nextFloat() para generar un número aleatorio de tipo flotante. Si queremos obtener un número aleatorio de tipo flotante, este método es útil. Vea el siguiente ejemplo.

import java.util.Random;
public class SimpleTesting {
  public static void main(String[] args) {
    int min_val = 10;
    int max_val = 100;
    Random rand = new Random();
    float rand_val = rand.nextFloat() * (max_val - min_val);
    System.out.println(rand_val);
  }
}

Producción :

71.88764

Genere un número aleatorio usando la clase RandomData en Java

Si está trabajando con la biblioteca apache commons, utilice la clase RandomData. Esta clase proporciona un método nextInt() que devuelve un valor entero. Podemos usar este método para generar números enteros aleatorios dentro del rango especificado. Vea el ejemplo a continuación.

import org.apache.commons.math.random.RandomData;
import org.apache.commons.math.random.RandomDataImpl;
public class SimpleTesting {
  public static void main(String[] args) {
    int min_val = 10;
    int max_val = 100;
    RandomData randomData randomData = new RandomDataImpl();
    int number = randomData.nextInt(min_val, max_val);
    System.out.println(number);
  }
}

Producción :

72

Genere un número aleatorio usando la clase SecureRandom en Java

La clase SecureRandom pertenece al paquete security de Java que se utiliza para crear un número aleatorio seguro. Aquí, usamos la clase Date para generar una semilla y luego el método nextInt() para generar un número entero aleatorio. Vea el siguiente ejemplo.

import java.security.SecureRandom;
import java.util.Date;
public class SimpleTesting {
  public static void main(String[] args) {
    int min_val = 10;
    int max_val = 100;
    SecureRandom rand = new SecureRandom();
    rand.setSeed(new Date().getTime());
    int randomNum = rand.nextInt((max_val - min_val) + 1) + min_val;
    System.out.println(randomNum);
  }
}

Producción :

65

Genere un número aleatorio usando la clase RandomUtils en Java

Podemos usar la clase RandomUtil de la biblioteca apache commons para generar enteros aleatorios. El método nextInt() de esta clase devuelve una clase entera. Vea el siguiente ejemplo.

import org.apache.commons.lang3.RandomUtils;
public class SimpleTesting {
  public static void main(String[] args) {
    int min_val = 10;
    int max_val = 100;
    RandomUtils random = new RandomUtils();
    int randomNum = random.nextInt(min_val, max_val);
    System.out.println(randomNum);
  }
}

Producción :

66

Artículo relacionado - Java Math

Artículo relacionado - Java Number