Solução
Para resolver o desafio do jogo de adivinhação, foi desenvolvido um programa em Java que gera um número aleatório e permite que o usuário tente adivinhar esse número em até cinco tentativas.
Inicialmente, o programa utiliza a classe Random para gerar um número secreto de forma aleatória, garantindo que a cada nova rodada o valor seja diferente. Em seguida, a classe Scanner é utilizada para ler os palpites digitados pelo usuário no terminal.
O controle das tentativas é feito por meio de um laço de repetição for, que limita o número de jogadas a cinco. A cada tentativa, o programa compara o número digitado pelo usuário com o número secreto e informa se o palpite é maior ou menor, ajudando o jogador a ajustar suas próximas tentativas.
Caso o usuário acerte o número antes de esgotar as tentativas, o programa exibe uma mensagem de sucesso e utiliza a instrução break para interromper o loop, encerrando a rodada imediatamente. Se o jogador não acertar o número após as cinco tentativas, uma mensagem informando o fim do jogo é exibida.
Ao final de cada rodada, o programa pergunta se o usuário deseja continuar jogando, permitindo reiniciar o jogo ou encerrar a execução de forma controlada.
import java.util.Random;
import java.util.Scanner;
public class JogoDeAdivinhacao {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String continuar = "S";
int jogada = 0;
Random aleatorio = new Random();
while (!continuar.equals("N")) {
int number = aleatorio.nextInt(100) + 1;
for (int i = 1; i <= 5; i++) {
if (i == 1) {
System.out.println("""
Você tem 5 chances para acertar o número.
O número está entre 1 e 100.
Boa sorte!
""");
}
System.out.println("Digite um número, " + i + "° chance: ");
jogada = sc.nextInt();
if (jogada < number) {
System.out.println("Seu palpite é menor que o número secreto.");
} else if (jogada > number) {
System.out.println("Seu palpite é maior que o número secreto.");
} else {
System.out.println("Parabéns você acertou!\n" +
"Seu palpite: " + jogada + "\n" +
"Número Secreto: " + number);
break;
}
if (i == 5) {
System.out.println("Infelizmente você não conseguiu descobrir o número secreto.\n!!!");
}
}
System.out.println("Deseja continuar? (S/N)");
continuar = sc.next().trim().toUpperCase();
}
sc.close();
}
}
Cenário Positivo
Você tem 5 chances para acertar o número.
O número está entre 1 e 100.
Boa sorte!
Digite um número, 1° chance:
50
Seu palpite é maior que o número secreto.
Digite um número, 2° chance:
30
Seu palpite é maior que o número secreto.
Digite um número, 3° chance:
20
Seu palpite é menor que o número secreto.
Digite um número, 4° chance:
25
Seu palpite é menor que o número secreto.
Digite um número, 5° chance:
28
Parabéns você acertou!
Seu palpite: 28
Número Secreto: 28
Deseja continuar? (S/N)
Cenário Negativo
Você tem 5 chances para acertar o número.
O número está entre 1 e 100.
Boa sorte!
Digite um número, 1° chance:
10
Seu palpite é menor que o número secreto.
Digite um número, 2° chance:
50
Seu palpite é maior que o número secreto.
Digite um número, 3° chance:
30
Seu palpite é maior que o número secreto.
Digite um número, 4° chance:
25
Seu palpite é maior que o número secreto.
Digite um número, 5° chance:
20
Seu palpite é maior que o número secreto.
Infelizmente você não conseguiu descobrir o número secreto.
!!!
Deseja continuar? (S/N)