Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Poderia olhar a solução que cheguei e se tem algo que posso melhorar?

import java.util.Random;
import java.util.Scanner;

public class Jogo {
    public static void main(String[] args) {
        Scanner leitura = new Scanner(System.in);

        int  numeroSecreto = new Random().nextInt(101);
        int tentativa = 5;
        int numeroUsuario = 0;

        System.out.println("Bem-vindo ao jogo de adivinhação");

        for (int i = 1; i <= 5; i++) {

            System.out.println("Você tem " + tentativa + " tentativa(s)");
            System.out.println("Digite um número de 0 a 100");
            numeroUsuario = leitura.nextInt();

            if (numeroUsuario == numeroSecreto) {
                System.out.println("Parabéns, você acertou!");
                break;
            } else if (numeroUsuario > numeroSecreto) {
                System.out.println("O número secreto é menor que:" + numeroUsuario);
            } else {
                System.out.println("O número secreto é maior que:" + numeroUsuario);
            }

            tentativa--;
        }

        if (tentativa == 0) {
            System.out.println("Você não conseguiu acertar o número em 05 tentativas. O número era: " + numeroSecreto);
        }
    }
}
1 resposta
solução!

Oii, Gustavo!

Obrigada por compartilhar.

Seu jogo de adivinhação ficou bem estruturado e fácil de entender. O uso do for para limitar as tentativas foi uma boa escolha, e as mensagens de feedback ao jogador estão claras.

Uma dica interessante para o futuro é usar Math.abs() para mostrar a diferença entre o número secreto e a tentativa do usuário. Isso pode incentivar a pessoa a pensar em estratégias.

Dá uma olhadinha:


import java.util.Random;
import java.util.Scanner;

public class Jogo {

    public static void main(String[] args) {

        Scanner leitura = new Scanner(System.in);
        int numeroSecreto = new Random().nextInt(101);
        int tentativa = 5;
        int numeroUsuario = 0;

        System.out.println("Bem-vindo ao jogo de adivinhação");

        for (int i = 1; i <= 5; i++) {

            System.out.println("Você tem " + tentativa + " tentativa(s)");
            System.out.println("Digite um número de 0 a 100");
            numeroUsuario = leitura.nextInt();

            if (numeroUsuario == numeroSecreto) {
                System.out.println("Parabéns, você acertou!");
                break;
            } else if (numeroUsuario > numeroSecreto) {
                System.out.println("O número secreto é menor que: " + numeroUsuario);
            } else {
                System.out.println("O número secreto é maior que: " + numeroUsuario);
            }

            // Dica extra: mostrar distância entre o número e o palpite
            int diferenca = Math.abs(numeroSecreto - numeroUsuario);
            System.out.println("Você está a " + diferenca + " número(s) de distância do número secreto.");

            tentativa--;
        }

        if (tentativa == 0 && numeroUsuario != numeroSecreto) {
            System.out.println("Você não conseguiu acertar o número em 05 tentativas. O número era: " + numeroSecreto);
        }

        leitura.close();
    }
}

O código calcula a distância numérica entre o palpite e o número secreto, sem sinal negativo.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!