Geração de número aleatório
Java inclui uma grande variedade de funções que você pode usar em seus programas. No entanto, o Java é executado com uma quantidade mínima de funções já disponíveis. Isso ajuda no tempo de processamento e economiza linhas extras de código. Quando você deseja usar um determinado recurso, como receber entrada do usuário ou gerar um número aleatório, você precisa importar esse utilitário para o seu código. Usamos a instrução import para fazer isso. A ferramenta que usaremos é a classe Random, que faz parte da biblioteca de utilitários (util) do Java. Para fazer isso, você precisa ter esta linha de código no início do nosso programa, antes da primeira classe ou função principal:
import java.util.Random;
Precisamos definir nossos limites; neste caso, queremos apenas um número entre 1 e 100. Vamos criar duas variáveis inteiras para esse propósito, assim:
// qual é o nosso alcance?
int max = 100;
int min = 1;
Em seguida, podemos configurar o gerador de números aleatórios real. Random é uma classe em Java, com seus próprios métodos. Podemos criar uma instância desta classe e usar todos esses recursos interessantes. Para criar uma nova instância de Random, este código é usado:
// qual é o nosso alcance?
int max = 100;
int min = 1;
// cria instância da classe
Random Random randomNum = new Random ();
Finalmente, podemos gerar nosso número aleatório. A classe Random fornece um método chamado nextInt (int n) , que gera um número aleatório entre 0 e o número especificado (n). Queremos apenas números entre 1 e 100, então o código é um pouco alterado. Pode parecer um pouco confuso, mas vamos examinar isso. Aqui está o código para gerar um número aleatório entre 1 e 100 e salvá-lo como um novo número inteiro, showMe:
int showMe = min + randomNum.nextInt (max);
Vamos começar do início (após o sinal de igual). Precisamos ter certeza de incluir 1, para o valor mínimo, conforme estabelecido nos requisitos. É por isso que está na frente da função nextInt. Em seguida, chamamos a função nextInt e passamos a ela o valor máximo. Neste caso, é 100.
Cada vez que executamos o programa, um número diferente é exibido entre 1 e 100. Aqui está o código final e completo:
public static void main (String [] args) {
// qual é o nosso intervalo?
int max = 100;
int min = 1;
// cria instância da classe
Random Random randomNum = new Random ();
int showMe = min + randomNum.nextInt (max);
System.out.println (showMe);
}
Uma nota sobre aleatoriedade
Uma execução única é importante, mas como sabemos que estamos recebendo números aleatórios? Tecnicamente, Random gera um número pseudo – aleatório . Quando Java gera o número aleatório, ele está movendo bits. Este movimento não é igualmente aleatório. O que realmente significa é o seguinte: o Java’s Random é bom o suficiente para programação geral, mas talvez não seja realmente aleatório o suficiente para criptografia ou criptografia superpoderosas.
Vamos verificar o quão aleatório é o nosso gerador. Podemos adicionar um loop for antes do código e executá-lo alguns milhares de vezes, uma tarefa fácil para Java.
para (int i = 1; i <2500; i +) {
int showMe = min + randomNum.nextInt (max);
System.out.println (showMe);
}
Ao executar este código, você obterá 2.500 números. Após a execução do programa, os números foram copiados para o Excel e analisados para contar quantas vezes cada número apareceu. Em outras palavras, recebemos uma tonelada de 5s e não de 27? Embora este não seja um teste verdadeiramente científico, este gráfico mostra a distribuição de nossos valores. Parece bastante aleatório e é aceitável para nossos propósitos.
![]() |
Agora que geramos alguns números aleatórios, podemos aplicar isso a outras necessidades de programação. Os números aleatórios são importantes em jogos para simular o lançamento de um dado ou a chance de o ataque do monstro causar dano a você.
Resumo da lição
Vamos revisar. Java tem muitos utilitários poderosos, um deles é o Random. Podemos gerar qualquer conjunto de números aleatórios. Nesse caso, geramos números aleatórios entre 1 e 100. A classe Random tem um método para gerar um número pseudoaleatório, nextInt (int n) , entre 0 e o valor especificado (n). Alteramos isso para um intervalo entre 1 e 100. Random do Java gera um número pseudo – aleatório , o que significa que os bits reais por baixo do capô não são movidos da mesma maneira.