Carregando...

Random em Java

Peça ao Java um número aleatório numa faixa pequena e imprima. Em Dice.java, importe java.util.Random, mantenha a classe public Dice, construa Random rng = new Random(42);, guarde int roll = rng.nextInt(6) + 1; e imprima roll. Compile com javac Dice.java e rode java Dice. Com a seed 42, a tela deve mostrar 3. Uma segunda demo imprime dois lances do mesmo gerador, então a tela mostra 3, depois 4. Deixe Summary para a página seguinte — esta lição trata de números aleatórios com seed fixa para prática, não de um encerramento do curso.

Montar um lance com seed

A página de datas congelou um dia de calendário. Esta página pede um lance de dado. Abra Dice.java. Mantenha o nome da classe public Dice. Apague demos de datas Stamp sobrantes se enterrarem a história do Random, somas de formatação Yard, arquivos de naming e qualquer Scanner de teclado. O programa não deve esperar digitação.
Adicione o import no topo do arquivo:
import java.util.Random;
Dentro de Dice.main, construa um gerador com seed para que cada execução deste arquivo de ensino repita o mesmo primeiro valor:
Random rng = new Random(42);
int roll = rng.nextInt(6) + 1;
System.out.println(roll);
Só nextInt(6) devolveria 0 a 5. Somar 1 desloca a faixa para 1 a 6, como um dado de seis faces. A seed 42 não é mágica — ela só trava a sequência desta lição para o quiz e a tela concordarem. Você não adivinha um número novo cada vez que lê a página.

Dice one seeded roll prints 3

java
import java.util.Random;

public class Dice {
    public static void main(String[] args) {
        Random rng = new Random(42);
        int roll = rng.nextInt(6) + 1;
        System.out.println(roll);
    }
}

Na pasta que contém Dice.java, rode javac Dice.java. Quando parênteses, chaves e pontos e vírgula batem, javac não imprime linha própria. Depois rode java Dice — não java Dice.java. Tire o final .java do comando de execução. Mantenha uma classe public no arquivo para o nome bater com Dice.
A tela mostra 3. Percorra a execução uma vez. O Java começa em Dice.main. O construtor guarda a seed 42. A primeira chamada nextInt(6) sorteia um valor em 0..5, depois + 1 vira 1..6. Com essa seed, o primeiro lance vira 3. A impressão escreve 3.
Diga a regra de início enquanto olha a tela: importe Random, construa com seed quando precisar de demo repetível, chame nextInt(6) + 1 para faixa tipo dado, imprima o lance. Não invente capítulo Summary nesta página. Summary espera a lição seguinte. Não tire o + 1 se quiser 1 a 6.
Se ainda vir 2026-03-15 de um arquivo de datas Stamp sobrando, mude para o arquivo de ensino Random e rode java Dice de novo. Se javac disser que não achou Random, confira a linha de import no topo de Dice.java.

Um segundo lance no mesmo gerador

Um lance prova a faixa. Uma segunda chamada no mesmo objeto Random continua a sequência. Mantenha o mesmo construtor com seed. Imprima dois lances:
System.out.println(rng.nextInt(6) + 1);
System.out.println(rng.nextInt(6) + 1);
Com a seed 42, a primeira impressão ainda é 3. A segunda imprime 4. Os dois valores ficam em 1..6. O gerador lembra onde está; não reconstrua new Random(42) entre essas duas linhas se quiser o próximo valor na mesma sequência.

Dice two seeded rolls print 3 then 4

java
import java.util.Random;

public class Dice {
    public static void main(String[] args) {
        Random rng = new Random(42);
        System.out.println(rng.nextInt(6) + 1);
        System.out.println(rng.nextInt(6) + 1);
    }
}

Compile com javac Dice.java e rode java Dice de novo. A tela mostra 3, depois 4. Percorra a execução uma vez. A mesma seed inicia a sequência. O primeiro nextInt(6) + 1 imprime 3. A segunda chamada avança e imprime 4. Nada espera o teclado. Nada guarda dia de calendário.
Mantenha as duas demos como duas formas de ensino. Primeiro prove um lance com seed. Depois prove dois lances em ordem. As duas formas compartilham o mesmo import e a mesma seed. A segunda forma só acrescenta outra chamada nextInt.
Se reconstruir new Random(42) antes de cada impressão, cada linha reinicia a sequência e você pode ver 3 duas vezes. Isso é outro hábito. Esta página mantém um gerador para a demo de dois lances para a segunda linha avançar.

Random não é calendário nem Summary

Datas guardavam um dia fixo que você podia imprimir e fatiar. Random sorteia números aleatórios numa faixa. Summary vai fechar o percurso do curso na página seguinte. Não misture esses três papéis num único arquivo iniciante hoje.
Sem seed, cada execução pode mostrar um primeiro lance diferente. Isso serve para jogos depois. Esta lição usa a seed 42 para a tela de ensino e o quiz compartilharem uma resposta. Você aprende a mesma chamada nextInt de qualquer jeito.
Quando falta o import, javac falha antes de qualquer linha na tela. Quando esquece + 1, um 0 pode aparecer, o que não é face padrão de dado. Mantenha o import, mantenha o deslocamento, e rode java Dice até a demo de um lance mostrar 3 ou a de dois lances mostrar 3 depois 4.
Se demos de datas ainda ficarem por perto, guarde-as como histórico. Para esta lição, rode o arquivo de ensino Random para a tela mostrar números aleatórios na faixa, não 2026-03-15. Se javac reclamar de classes public duplicadas, mantenha só Dice public.

Faixa, seed e o hábito do + 1

nextInt(6) significa seis valores iniciais possíveis: 0, 1, 2, 3, 4 e 5. A expressão nextInt(6) + 1 mapeia para 1, 2, 3, 4, 5 e 6. Diga esse mapeamento em voz alta uma vez enquanto olha o código. O argumento limite conta os valores iniciais, não a face mais alta depois do deslocamento.
A seed trava qual caminho entre essas faces você vê primeiro neste arquivo de ensino. Mudar a seed muda a sequência. Tirar a seed muda a sequência entre execuções. Para prática avaliada nesta página, mantenha 42 para a primeira face continuar 3.
Não trate Random como substituto de LocalDate. Não trate um lance como regra de indentação de formatação. Cada página anterior guardou seu próprio trabalho. Esta página guarda só números aleatórios.

Antes de Summary

Você pode importar Random, construir new Random(42), rolar nextInt(6) + 1, ver 3 numa execução e ver 3 depois 4 na demo de dois lances. Compile Dice.java e rode java Dice para as demos que manteve. A faixa ficou 1..6; a seed manteve a sequência estável para o ensino. A página seguinte é Summary, onde você olha para trás no percurso Java.
Mantenha as demos de dado com seed para um par claro de números aleatórios. Mantenha arquivos de datas fora desta página quando praticar Random. Mantenha arquivos Summary fora desta página até aquela lição. Esses três hábitos são o ponto de verificação antes de seguir. Quando a tela de um lance mostrar 3 ou a de dois lances mostrar 3 depois 4, o Random cumpriu o trabalho desta lição e você está pronto para o tópico Summary na página seguinte.
Uma última passagem na pasta: uma Dice public, import presente, new Random(42), nextInt(6) + 1, sem espera de teclado, sem tipos de calendário forçados. Rode mais uma vez javac Dice.java e java Dice na demo que mantiver aberta. Se a tela ainda mostrar 3 ou 3 depois 4, a forma Random está sólida e o curso pode ir para Summary na página seguinte. Prefira um hábito aleatório claro por leitura para cada passagem ensinar o mesmo mapa.

🧠 Teste Seu Conhecimento

Pronto para Começar

Teste Seu Conhecimento

Desafie-se com este questionário interativo e veja o quão bem você entende o tópico

❓
5
Perguntas
🎯
70%
Para Passar
♾️
∞
Tempo
🔄
∞
Tentativas

📝 Instruções

  • Leia cada pergunta cuidadosamente
  • Selecione a melhor resposta para cada pergunta
  • Você pode refazer o quiz quantas vezes quiser
  • Seu progresso será mostrado no topo