Pular para o conteúdo

Lista 009 - Decisão em Java

Nesta lista, vamos reforçar as estruturas de decisão em Java: o if/else e o switch. Todos os exercícios partem de situações de jogos para deixar a prática mais divertida.

A lista está dividida em três níveis: no bronze e no prata, o foco é o if/else; no ouro, usamos o switch (o conteúdo adicional deste bloco).

  1. Leia o enunciado com atenção e identifique quais informações o usuário precisa digitar.
  2. Crie uma classe Main com o método public static void main(String[] args).
  3. Crie um Scanner no início do programa: Scanner scanner = new Scanner(System.in);.
  4. Guarde cada resposta do usuário em uma variável própria, com um nome que indique o que ela é.
  5. Antes de cada leitura com scanner, use System.out.print para mostrar uma pergunta clara.
  6. Use if quando quisermos fazer algo apenas se a condição for verdadeira, e if + else quando houver dois caminhos.
  7. Para comparar textos, use .equalsIgnoreCase(...) (nunca ==).
  8. Nos exercícios do nível ouro, use switch com case, break e default.
  9. Ao final, sempre feche o leitor com scanner.close();.
  10. Lembre-se: os valores dos exemplos são apenas exemplos. Se o usuário digitar outros valores, a saída deve usar exatamente os valores informados.

Neste nível, você vai usar if e else com comparações simples e mensagens na tela.

Você vai criar um programa para verificar se o jogador pode abrir a porta de um castelo.

Peça ao usuário se ele possui a chave dourada, digitando sim ou nao.

Se a resposta for sim, mostre a mensagem A porta do castelo se abriu!. Senão, mostre a mensagem A porta está trancada. Você precisa da chave dourada.

Exemplo de execução:

Você possui a chave dourada? (sim/nao) sim
A porta do castelo se abriu!

Você vai criar um programa para verificar se o personagem continua vivo após um ataque.

Peça ao usuário a quantidade de pontos de vida do personagem.

Se a vida for menor ou igual a 0, mostre a mensagem O personagem foi derrotado.. Senão, mostre a mensagem O personagem continua na batalha.

Exemplo de execução:

Quantos pontos de vida o personagem tem? 0
O personagem foi derrotado.

Você vai criar um programa para verificar se o jogador tem nível suficiente para uma missão.

Peça ao usuário o nível atual do jogador.

Se o nível for maior ou igual a 10, mostre a mensagem Missão liberada!. Senão, mostre a mensagem Você ainda não tem nível suficiente.

Exemplo de execução:

Qual é o seu nível atual? 12
Missão liberada!

Neste nível, faça as contas primeiro e só depois tome a decisão.

Você vai criar um programa para saber se um ataque crítico derrota o inimigo.

Peça ao usuário o valor do ataque do jogador e a vida atual do inimigo.

Considere que um ataque crítico vale o dobro do ataque normal. Calcule dano_critico = ataque * 2.

Se o dano crítico for maior ou igual à vida do inimigo, mostre a mensagem Golpe crítico! O inimigo foi derrotado.. Senão, mostre a mensagem O inimigo resistiu ao golpe.

Exemplo de execução:

Qual é o seu ataque? 30
Qual é a vida atual do inimigo? 55
Golpe crítico! O inimigo foi derrotado.

Você vai criar um programa para verificar se o jogador consegue comprar itens na loja.

Peça ao usuário o preço de um item, a quantidade desejada e quantas moedas de ouro ele possui.

Calcule o custo total da compra. Se o jogador tiver moedas suficientes, mostre a mensagem Compra realizada com sucesso!. Senão, mostre a mensagem Moedas insuficientes para a compra.

Exemplo de execução:

Qual é o preço do item? 25
Quantos itens você quer comprar? 3
Quantas moedas de ouro você tem? 100
Compra realizada com sucesso!

Você vai criar um programa para verificar se o personagem sobreviveu depois de receber dano.

Peça ao usuário a vida atual do personagem e o dano recebido.

Calcule a vida restante e guarde em uma variável. Se a vida restante for maior que 0, mostre a mensagem O personagem sobreviveu!. Senão, mostre a mensagem O personagem caiu em combate.

Exemplo de execução:

Qual é a vida atual do personagem? 40
Quanto de dano o personagem recebeu? 40
O personagem caiu em combate.

Você vai criar um programa que calcula o XP final de uma partida com bônus.

Peça ao usuário o XP base ganho e o percentual de bônus.

Calcule xp_final = xp_base + xp_base * percentual / 100 e guarde em uma variável.

Se o XP final for maior ou igual a 1000, mostre a mensagem Você subiu de nível!. Senão, mostre a mensagem Continue jogando para subir de nível.

Exemplo de execução:

Qual foi o XP base ganho? 800
Qual é o percentual de bônus? 50
XP final: 1200
Você subiu de nível!

Neste nível, você vai usar o switch para escolher entre várias opções, com case, break e default.

Você vai criar um programa com um menu de ações do acampamento usando switch.

Mostre o menu abaixo e peça uma opção ao usuário:

1 - Descansar
2 - Treinar
3 - Explorar
4 - Voltar para a vila

Use switch para mostrar uma mensagem diferente para cada opção:

  • 1 → Você descansou e recuperou energia.
  • 2 → Você treinou e ganhou experiência!
  • 3 → Você explorou a região e encontrou recursos.
  • 4 → Você voltou para a vila em segurança.
  • qualquer outro valor → Opção inválida!

Exemplo de execução:

1 - Descansar
2 - Treinar
3 - Explorar
4 - Voltar para a vila
Escolha uma opção: 2
Você treinou e ganhou experiência!

Você vai criar um programa que calcula o total de uma compra usando switch.

O mercador vende três itens:

  • 1 → Poção de cura (20 moedas)
  • 2 → Espada de ferro (50 moedas)
  • 3 → Escudo de madeira (35 moedas)

Peça ao usuário a opção do item e a quantidade. Use switch para definir o preço do item escolhido e calcule o custo total. No final, mostre Custo total: X moedas.. Se a opção for inválida, mostre Item inexistente!.

Exemplo de execução:

1 - Poção de cura (20 moedas)
2 - Espada de ferro (50 moedas)
3 - Escudo de madeira (35 moedas)
Escolha o item: 3
Quantas unidades? 2
Custo total: 70 moedas.

Você vai criar um programa que junta switch e if para validar uma compra.

Peça ao usuário a opção do item, o preço dele e quantas moedas de ouro o jogador possui. Considere:

  • 1 → o jogador tenta comprar uma poção e precisa de 20 moedas;
  • 2 → o jogador tenta comprar uma espada e precisa de 50 moedas;
  • 3 → o jogador tenta comprar um escudo e precisa de 35 moedas.

Use switch para escolher o item. Dentro de cada case, use um if para verificar se o jogador tem moedas suficientes:

  • se tiver, mostre Compra realizada!;
  • se não tiver, mostre Moedas insuficientes.;
  • se a opção for inválida, o default mostra Item inexistente!.

Exemplo de execução:

Escolha o item (1, 2 ou 3): 2
Quantas moedas você tem? 30
Moedas insuficientes.