Não sei se é uma boa solução, mas foi bem divertido realizar este desafio, Luri me salvou em algumas dúvidas que eu tive, como por exemplo, em decrementar o contador dentro do else sem decrementar o contador dentro do if, muito bom esse IA.
A solução passou em todos os cenários que pensei para este desafio.
public class Adivinhacao {
public static void main(String[] args) {
int numeroAleatorio = new Random().nextInt(100);
int contador;
boolean acertou = false;
System.out.println("Número aleatório: "+numeroAleatorio);
for (contador = 1 ; contador <= 5 ; contador++) {
System.out.println("Tente adivinhar o número entre 0 e 100: ");
int numeroAdivinhado = new Scanner(System.in).nextInt();
if (numeroAdivinhado == numeroAleatorio){
System.out.printf("Parabéns, ganhou na loteria! Acertou em %d tentativas. ", contador);
acertou = true;
break;
}else if (numeroAdivinhado > numeroAleatorio){
System.out.printf("O número é maior que o número gerado. Você tem %d de tentativas. %n", 5 - contador);
}else {
System.out.printf("O número é menor que o número gerado, Você tem %d de tentativas. %n", 5 - contador);
}
}
if (!acertou) {
System.out.println("Você perdeu. O número era: " + numeroAleatorio);
}
}
}
Cenário 1: Dado que digitei o número adivinhado na primeira tentativa E acertei Então deverá ser exibido no console "Parabéns, ganhou na loteria! Acertou em 1 tentativas" E encerrará o programa. --- EXIBINDO CORRETAMENTE ---
Cenário 2: Dado que digitei o número adivinhado em 5 tentativas E errei em todas Então deverá ser exibido no console "Você perdeu. O número era: numeroAleatorio" E encerrará o programa. --- EXIBINDO CORRETAMENTE ---
Cenário 3: Dado que digitei o número adivinhado em 3 tentativas E acertei na terceira tentativa Então deverá ser exibido no console "Parabéns, ganhou na loteria! Acertou em 3 tentativas" E encerrará o programa. --- EXIBINDO CORRETAMENTE ---
Cenário 4: Dado que digitei o número adivinhado em 5 tentativas E acertei na quinta tentativa Então deverá ser exibido no console "Parabéns, ganhou na loteria! Acertou em 5 tentativas" E encerrará o programa. --- EXIBINDO CORRETAMENTE ---
Cenário 5: Dado que digitei o número adivinhado MAIOR que o número gerado aleatóriamente na primeira tentativa Então deverá ser exibido no console "O número é maior que o número gerado. Você tem 4 de tentativas." E o programa deverá exibir a mensagem "Tente adivinhar o número entre 0 e 100: " E esperar o próximo número a ser digitado no console. --- EXIBINDO CORRETAMENTE ---
Cenário 6: Dado que digitei o número adivinhado MENOR que o número gerado aleatóriamente na segunda tentativa Então deverá ser exibido no console "O número é menor que o número gerado. Você tem 3 de tentativas." E o programa deverá exibir a mensagem "Tente adivinhar o número entre 0 e 100: " E esperar o próximo número a ser digitado no console. --- EXIBINDO CORRETAMENTE ---