Segui pela vertente onde a pessoa joga até acertar o número. Vi alguns exemplos interessantes onde a pessoa tem um número limitado de chances. Não pensei nesse ponto quando decidi fazer o meu. Muito interessante. Isso mostra como é importante conversar muito bem antes de desenvolver uma solução no mundo real. Como era apenas para estudos de loop não faz sentido explicitar tanto o que deve ser feito, mas se o jogo fosse um produto comercial, haveria muitas divergencias nas regras de negócio do produto final. Talvez o que desenvolvessemos não era exatamente o que o cliente estava esperando.
import java.util.Random;
import java.util.Scanner;
public class JogoAdivinharNumeroAleatorio {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int numeroSecreto = new Random().nextInt(100);
int chute = 0;
int numeroChute = 0;
while (numeroSecreto != numeroChute){
if (chute == 0){
System.out.println("Digite o número e descubra o número secreto: ");
} else {
System.out.println("Digite outro número: ");
}
numeroChute = scanner.nextInt();
if(numeroChute > numeroSecreto){
System.out.println("Número secreto é menor");
} else if(numeroChute < numeroSecreto) {
System.out.println("Número secreto é maior");
}
chute++;
}
System.out.println(String.format("""
Acertou! O número secreto é %d. Você precisou de %d chances. Parabéns!
""", numeroSecreto, chute));
}
}