🧩 Exercícios - Cap 02: Sorte e Decisão em Java (Variáveis, Operadores e Random)
🎯 Antes de começar
No Cap 02 você escreveu rolarD20() (sorteio de 1 a 20 com java.util.Random), rolarD6() (Prática 1, com if/else if/else) e o teste de temEscudo/dano (Prática 2). Depois de completar as duas Práticas Obrigatórias, faça o exercício extra abaixo para praticar o operador % (módulo), que aparece no “Dicionário do Programador” mas ainda não foi usado em nenhum exercício.
💪 Exercício Extra 1: Turno Especial com Operador Módulo (15 min)
Objetivo: Praticar o operador % (módulo) combinado com if/else, simulando uma regra de “turno especial”.
Passos:
- Crie um método
verificarTurno()e declareint turno = 4;. - Calcule o resto da divisão por 2:
int resto = turno % 2;. - Use
if/elsepara imprimir:- Se
resto == 0:"Turno " + turno + ": par - Ataque Especial!" - Senão:
"Turno " + turno + ": ímpar - Ataque Normal."
- Se
- Chame
verificarTurno()dentro domaine teste trocando o valor deturnopara3,7e10, executando de novo a cada troca.
✅ Resultado Esperado
- Com
turno = 4ou10:"Turno 4: par - Ataque Especial!". - Com
turno = 3ou7:"Turno 3: ímpar - Ataque Normal.". - O valor de
restoé sempre0ou1, nunca outro número.
🆘 Resolução de Problemas Comuns
| Erro | Causa | Solução |
|---|---|---|
';' expected (erro de compilação) |
Faltou o ; no final de uma das linhas (int turno = 4, int resto = turno % 2, etc.) |
Revise cada instrução — em Java, toda linha de código termina com ; |
incompatible types: int cannot be converted to boolean |
Usou = (atribuição) em vez de == (comparação) dentro do if, ex.: if (resto = 0) |
Troque para if (resto == 0) — == compara, = atribui |
O programa imprime sempre a mesma frase, mesmo trocando turno |
Esqueceu de salvar o arquivo ou de rodar de novo após editar o valor de turno |
Salve o arquivo e clique em “Run”/”Executar” novamente a cada alteração |