Cómo generar un número aleatorio entre 1 y 10 en Java

Rupam Yadav 12 octubre 2023
  1. random.nextInt() para generar un número aleatorio entre 1 y 10
  2. Math.random() para generar números aleatorios entre 1 y 10
  3. ThreadLocalRandom.current.nextInt() para generar números aleatorios entre 1 y 10
Cómo generar un número aleatorio entre 1 y 10 en Java

Veremos los pasos para generar un número aleatorio entre 1 y 10 al azar en Java. Veremos tres paquetes o clases de Java que pueden generar un número aleatorio entre 1 y 10 y cuál de ellos es el más adecuado para usar.

random.nextInt() para generar un número aleatorio entre 1 y 10

java.util.Random es un paquete que viene con Java, y podemos usarlo para generar un número aleatorio entre un rango. En nuestro caso, el rango es de 1 a 10.

Este paquete tiene una clase Random que nos permite generar múltiples tipos de números, ya sea un int o un float.

import java.util.Random;

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;

    Random random = new Random();

    int value = random.nextInt(max + min) + min;
    System.out.println(value);
  }
}

Resultado:

	6

Para mostrar que la técnica anterior funciona y genera números aleatorios cada vez, podemos usar un bucle para generar un nuevo número aleatorio hasta que termine. Como no tenemos un gran rango de números, los números aleatorios pueden repetirse.

import java.util.Random;

public class Main {
  public static void main(String[] args) {
    Random random = new Random();

    for (int i = 1; i <= 10; i++) {
      int value = random.nextInt((10 - 1) + 1) + 1;
      System.out.println(value);
    }
  }

Resultado:

10
7
2
9
2
7
6
4
9

Math.random() para generar números aleatorios entre 1 y 10

Otra clase que puede ayudarnos a lograr nuestro objetivo es Math con múltiples funciones estáticas para aleatorizar los números. Vamos a usar el método random(). Devuelve un valor aleatorio de tipo float. Es por eso que tenemos que ponerlo en una int.

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;
    for (int i = min; i <= max; i++) {
      int getRandomValue = (int) (Math.random() * (max - min)) + min;
      System.out.println(getRandomValue);
    }
  }

Resultado:

5
5
2
1
6
9
3
6
5
7

ThreadLocalRandom.current.nextInt() para generar números aleatorios entre 1 y 10

El último método de nuestra lista para obtener números aleatorios entre el 1 y el 10 es usar la clase ThreadLocalRandom que se introdujo en el JDK 7 para programas multiproceso.

Podemos ver más abajo que tenemos que llamar al método current() de la clase ya que queremos que los números aleatorios se generen en el hilo actual.

import java.util.concurrent.ThreadLocalRandom;

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;

    for (int i = 1; i <= 10; i++) {
      int getRandomValue = ThreadLocalRandom.current().nextInt(min, max) + min;

      System.out.println(getRandomValue);
    }
  }
}

Resultado:

3
4
5
8
6
2
6
10
6
2
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java Number