Crie um programa que simula um jogo de adivinhação, que deve gerar um número aleatório entre 0 e 100 e pedir para que o usuário tente adivinhar o número, em até 5 tentativas. A cada tentativa, o programa deve informar se o número digitado pelo usuário é maior ou menor do que o número gerado.
import java.util.Random;
import java.util.Scanner;
public class Adivinhacao {
public static void main(String[] args) {
int numero;
int valorMinimo = 1;
int valorMaximo = 100;
int contador = 1;
Random geradorNumero = new Random();
int numeroSecreto = geradorNumero.nextInt(valorMaximo) + valorMinimo;
System.out.println("Você iniciou o jogo de adivinhação!!!");
do {
Scanner numeroTentativa = new Scanner(System.in);
System.out.print("\nDigite um número de " + valorMinimo + " a " + valorMaximo + ":");
numero = numeroTentativa.nextInt();
numeroTentativa.nextLine();
System.out.println("O número digitado foi: " + numero);
if (numero < valorMinimo || numero > valorMaximo) {
System.out.println("Número inválido!!!");
continue;
} else {
if (numero > numeroSecreto) {
System.out.println("O número secreto é menor que " + numero + "!!!");
valorMaximo = numero - 1;
} else if (numero < numeroSecreto) {
System.out.println("O número secreto é maior que " + numero + "!!!");
valorMinimo = numero + 1;
} else {
System.out.println("Parabéns, você acertou o número secreto ("+ numeroSecreto + ") em [" + contador + "] tentativas!!!");
return;
}
}
contador++;
if (contador == 6) {
System.out.println("\nVocê não acertou o número secreto em 5 tentativas. Fim de Jogo");
System.out.println("O número secreto era [" + numeroSecreto + "].");
break;
}
} while (numero != numeroSecreto);
}
}
Neste desafio consegui aplicar o Scanner para capturar dados, o número aleatório é gerado aleatoriamente em cada execução, e ele conta com um contador para as tentativas do usuário. estruturas de controle para dicas e condicionais que determinam o bom funcionamento do jogo.