Gerar um número aleatório entre 1 e 10 em Java

Rupam Yadav 12 outubro 2023
  1. random.nextInt() para Gerar um número aleatório entre 1 e 10
  2. Math.random() para gerar números aleatórios entre 1 a 10
  3. ThreadLocalRandom.current.nextInt() para gerar números aleatórios entre 1 e 10
Gerar um número aleatório entre 1 e 10 em Java

Analisaremos os passos para gerar um número aleatório entre 1 e 10 aleatoriamente em Java. Veremos três pacotes ou classes Java que podem gerar um número aleatório entre 1 e 10 e qual deles é o mais adequado para utilizar.

random.nextInt() para Gerar um número aleatório entre 1 e 10

O java.util.Random é um pacote que vem com Java, e podemos utilizá-lo para gerar um número aleatório entre uma gama. No nosso caso, o intervalo é de 1 a 10.

Este pacote tem uma classe Random que nos permite gerar múltiplos tipos de números, quer seja um int ou um float. Veja o exemplo para compreender melhor.

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 a técnica acima descrita funciona e gera sempre números aleatórios, podemos utilizar um laço para gerar um novo número aleatório até que este termine. Como não temos uma grande variedade de números, os números aleatórios podem ser repetidos.

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 gerar números aleatórios entre 1 a 10

Outra classe que nos pode ajudar a alcançar o nosso objectivo é Math com múltiplas funções estáticas para randomizar números. Vamos utilizar o método random(). Ele devolve um valor aleatório do tipo float. É por isso que temos de o lançar para um 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 gerar números aleatórios entre 1 e 10

O último método na nossa lista para obter números aleatórios entre 1 e 10 é utilizar a classe ThreadLocalRandom que foi introduzida em JDK 7 para programas multi-tarefa.

Podemos ver abaixo que temos de chamar o método current() da classe, pois queremos que os números aleatórios sejam gerados no tópico 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

Artigo relacionado - Java Number