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

[Projeto] [Minha Solução] Jogo de Adivinhação

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

public class JogoAdivinhacao02 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int numeroGerado = new Random().nextInt(100); int numeroDeTentativas = 0;

    while (numeroDeTentativas < 5) {
        int valorDigitado = 0;
        System.out.println("Insira um valor entre 0 e 100: "); //Leitura dados pelo teclado
        valorDigitado = sc.nextInt();
        numeroDeTentativas++;

        if (valorDigitado == numeroGerado) {
            System.out.println("Parabens, você adivinhou o valor gerado! " + valorDigitado +
                               " em " + numeroDeTentativas + " tentativas!");
            break;
        } else if (valorDigitado != numeroGerado) {
            if (valorDigitado > numeroGerado) {
                System.out.println("Valor digitado é maior que o valor gerado automaticamente!");
                System.out.println("Não foi desta vez! Tente novamente!");
                System.out.println("Essa foi sua: " + numeroDeTentativas + " tentativa");
            } else {
                System.out.println("Valor digitado é menor que o valor gerado automaticamente");
                System.out.println("Não foi desta vez! Tente novamente!");
                System.out.println("Essa foi sua: " + numeroDeTentativas + " tentativa");
            }
        }
    }
    System.out.println("Estamos encerrando o desafio!");
}

}

1 resposta
solução!

Olá, Carlos.

Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Seu código está bem estruturado e cumpre os requisitos mínimos do desafio. No entanto, há um pequeno ajuste que pode ser feito para melhorar a experiência do usuário. Atualmente, o programa não informa ao usuário qual era o número gerado caso ele não consiga adivinhar nas 5 tentativas. Você pode adicionar essa funcionalidade.

Pode tentar da seguinte forma:

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

public class JogoAdivinhacao02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int numeroGerado = new Random().nextInt(100);
        int numeroDeTentativas = 0;

        while (numeroDeTentativas < 5) {
            System.out.println("Insira um valor entre 0 e 100: "); // Leitura dados pelo teclado
            int valorDigitado = sc.nextInt();
            numeroDeTentativas++;

            if (valorDigitado == numeroGerado) {
                System.out.println("Parabéns, você adivinhou o valor gerado! " + valorDigitado +
                                   " em " + numeroDeTentativas + " tentativas!");
                break;
            } else if (valorDigitado > numeroGerado) {
                System.out.println("Valor digitado é maior que o valor gerado automaticamente!");
            } else {
                System.out.println("Valor digitado é menor que o valor gerado automaticamente!");
            }

            if (numeroDeTentativas < 5) {
                System.out.println("Não foi desta vez! Tente novamente!");
                System.out.println("Essa foi sua: " + numeroDeTentativas + "ª tentativa");
            }
        }

        if (numeroDeTentativas == 5) {
            System.out.println("Estamos encerrando o desafio! O número gerado era: " + numeroGerado);
        }

        sc.close();
    }
}

O que foi alterado:

  1. Adicionei uma mensagem final informando o número gerado caso o usuário não consiga adivinhar nas 5 tentativas.
  2. Removi a repetição da mensagem "Não foi desta vez! Tente novamente!" e "Essa foi sua: X tentativa" para o caso de a tentativa ser a última.

Continue assim com esssa dedicação. Parabéns!

Espero ter ajudado e bons estudos!