1
resposta

Jogue até descobrir.

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));
    }
}
1 resposta

Oi Roger,

Excelente reflexão sobre a importância da comunicação clara no desenvolvimento de software! 👍 Seu código demonstra bem o conceito de loop while e a lógica do jogo de adivinhação.

A sua observação sobre as diferentes abordagens, como limitar o número de tentativas, é crucial. No mundo real, as regras de negócio podem variar bastante, e é fundamental alinhar as expectativas com o cliente antes de iniciar a implementação. 💪

Seu código está bem estruturado e fácil de entender. A variável chute controla a mensagem inicial e contabiliza as tentativas, o que é uma boa prática. 👏

Para saber mais: Documentação do Scanner

Continue explorando e aprimorando suas habilidades! 🤔

tux matrix Caso este post o tenha ajudado, marque-o como solucionado ☑️. Bons Estudos! 🤓