CodeGym /Blogue Java /Random-PT /Java Random nextInt () Método
John Squirrels
Nível 41
San Francisco

Java Random nextInt () Método

Publicado no grupo Random-PT
Existem várias opções para criar um gerador de números pseudo-aleatórios na linguagem Java. Uma dessas opções é a utilização da classe java.util.Random e do método nextInt() . Neste artigo, falaremos sobre o método Random nextInt() e daremos alguns exemplos de código de seu uso.

Resumidamente sobre a classe java.util.Random

A classe java.util.Random , como dissemos, é um gerador de números pseudoaleatórios. A classe é representada por dois construtores
  • Random() — cria um gerador de números usando uma semente única

  • Random(long seed) — permite que você especifique a semente manualmente

Como a classe cria um número pseudoaleatório, ao especificar uma semente, você determina o ponto inicial da sequência aleatória. E você obterá as mesmas sequências aleatórias. Para evitar tal correspondência, é comum usar um segundo construtor usando a hora atual como valor inicial.

Método aleatório nextInt()

Existem duas opções Método java.util.Random.nextInt()
  • int nextInt(int n) — retorna o próximo valor aleatório do tipo int no intervalo de 0 a n. O método lança IllegalArgumentException , se n não for positivo.

  • int nextInt() — retorna o próximo valor int aleatório

Exemplo de código de método aleatório nextInt()

Vamos tentar ambas as variantes do método java.util.Random.nextInt() com exemplos de código. Aqui está um exemplo do método nextInt() sem argumentos:

import java.util.*;
public class RandomTest {
   public static void main(String[] args)
   {
       //creating a Random Object ran
       Random ran = new Random();

       //generating a number using nextInt() method
       int randomNumber = ran.nextInt();

       System.out.println("Randomly generated number = " + randomNumber);
   }
}
A saída será... não sabemos ao certo! Basta tentar o código e você obterá um número inteiro gerado aleatoriamente. Vamos experimentar Random.nextInt() com um argumento. No entanto, desta vez nosso problema será mais interessante. Você provavelmente já viu anúncios de cassino online mais de uma vez, eles literalmente inundaram a Internet. Portanto, a sequência do gerador de números nesses jogos geralmente é criada usando métodos e classes como Random . Vamos criar um programa no qual jogamos dois dados com um número de 1 a 6 escrito em cada face.

import java.util.*;
public class RandomTest2 {
   public static void main(String args[])
   {

       // create Random Object
       Random random = new Random();

       // Printing the 6 random numbers between 1 and 6 using //random.nextInt()
       

      for (int i = 1; i < 7; i++) {
          System.out.println("throwing a dice for the " + i + " time");
       System.out.println ("Random number between 1 and 6 is = " + (1 + random.nextInt(6)));
   }
   }
}
Neste programa, o jogador "lança" o dado 6 vezes seguidas. Random.nextInt() determina o próximo número. Aqui está um dos resultados:
jogando um dado pela 1 vez Número aleatório entre 1 e 6 é = 5 jogando um dado pela 2 vez Número aleatório entre 1 e 6 é = 6 jogando um dado pela 3 vez Número aleatório entre 1 e 6 é = 6 jogando um dado pela 4 vez Número aleatório entre 1 e 6 é = 5 jogando um dado pela 5 vez Número aleatório entre 1 e 6 é = 2 jogando um dado pela 6 vez Número aleatório entre 1 e 6 é = 4
De maneira semelhante, você pode implementar um jogo de dados para dois jogadores. E também a loteria, ou roleta, por exemplo. Se você já jogou um jogo com geração de mundo processual, agora você tem uma ideia inicial de como funciona.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION