Gerar número aleatório dentro de um intervalo especificado em Java
- 
          
            Gerar número aleatório usando a classe ThreadLocalRandomem Java
- 
          
            Gere um número aleatório usando a classe Mathem Java
- 
          
            Gere um número aleatório usando a classe Randomem Java
- 
          
            Gere um número aleatório usando a classe Randomem Java
- 
          
            Gere um número aleatório usando a classe RandomeIntStreamem Java
- 
          
            Gere um número aleatório usando o método nextFloatem Java
- 
          
            Gerar número aleatório usando a classe RandomDataem Java
- 
          
            Gerar número aleatório usando a classe SecureRandomem Java
- 
          
            Gerar número aleatório usando a classe RandomUtilsem Java
 
Este tutorial apresenta como gerar um número aleatório dentro de um intervalo especificado em Java.
Existem várias maneiras de gerar números aleatórios em Java, como o método nextInt() da classe ThreadLocalRandom, o método random() da classe Math, o método nextInt() da classe Random, o método ints() da classe Random, o método nextFloat() da classe Random e a classe RandomUtil, etc.
Gerar número aleatório usando a classe ThreadLocalRandom em Java
O pacote simultâneo Java fornece uma classe ThreadLocalRandom que possui o método nextInt(). Este método pode gerar um número inteiro aleatório dentro do intervalo especificado. Veja o exemplo abaixo.
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);
  }
}
Resultado:
Value in double: 12.9
Value in int: 12
Gere um número aleatório usando a classe Math em Java
A classe Java Math pode ser usada para gerar um número aleatório dentro do intervalo especificado. Aqui, usamos o método random() da classe Math para obter um número aleatório. Veja o exemplo abaixo.
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);
  }
}
Resultado:
Id: 1212
Name: Samre
Gere um número aleatório usando a classe Random em Java
A classe Random de Java pode gerar um inteiro aleatório dentro do intervalo especificado usando o método nextInt(), que retorna um valor inteiro. Veja o exemplo abaixo.
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);
  }
}
Resultado:
Id: 1212
Name: Samre
Gere um número aleatório usando a classe Random em Java
Esta é outra solução para obter um número inteiro aleatório dentro do intervalo especificado. Aqui, usamos o método nextInt() da classe Random com parâmetros diferentes. Veja o exemplo abaixo.
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);
  }
}
Resultado:
Random Number: 75
Gere um número aleatório usando a classe Random e IntStream em Java
Aqui, usamos o método ints() da classe Random que retorna um fluxo de números aleatórios. Usamos o método forEach() para imprimir todos os inteiros aleatórios gerados pelo método ints(). Veja o exemplo abaixo.
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);
  }
}
Resultado:
94
35
90
74
47
Gere um número aleatório usando o método nextFloat em Java
    
A classe Random fornece um método nextFloat() para gerar um número aleatório do tipo float. Se quisermos obter um número aleatório do tipo float, esse método é útil. Veja o exemplo abaixo.
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);
  }
}
Resultado:
71.88764
Gerar número aleatório usando a classe RandomData em Java
Se você estiver trabalhando com a biblioteca apache commons, use a classe RandomData. Esta classe fornece um método nextInt() que retorna um valor inteiro. Podemos usar este método para gerar inteiros aleatórios dentro do intervalo especificado. Veja o exemplo abaixo.
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);
  }
}
Resultado:
72
Gerar número aleatório usando a classe SecureRandom em Java
A classe SecureRandom pertence ao pacote security do Java que é usado para criar um número aleatório seguro. Aqui, usamos a classe Date para gerar uma semente e, em seguida, o método nextInt() para gerar um inteiro aleatório. Veja o exemplo abaixo.
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);
  }
}
Resultado:
65
Gerar número aleatório usando a classe RandomUtils em Java
Podemos usar a classe RandomUtil da biblioteca apache commons para gerar inteiros aleatórios. O método nextInt() desta classe retorna uma classe inteira. Veja o exemplo abaixo.
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);
  }
}
Resultado:
66
Artigo relacionado - Java Math
- Divisão Dupla em Java
- Pi Constant em Java
- Calcular a média em Java
- Módulo em Java
- Frações em Java
- Calcule a potência dos inteiros em Java