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

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

import java.util.Random;
import java.util.Scanner;
public class Adivinhacao {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("**************************************\n" +
"***BEM VINDO AO JOGO DE ADIVINHAÇÃO***\n" +
"**************************************");


        System.out.println("* Você terá 5 tentativas! *");
        int randomNumber = new Random().nextInt(100);
        int countAttempts = 0;
        boolean correctAnswer = true;
        System.out.println(randomNumber);
        System.out.println("* Digite um número entre 0 a 100: ");
        while (countAttempts != 5){
            int userAttempt = input.nextInt();
            if (userAttempt != randomNumber) {
                countAttempts++;
                if (userAttempt > randomNumber){
                    System.out.println("* Errou! O número sorteado é menor! *");
                } else {
                    System.out.println("* Errou! O número sorteado é maior! *");
                }
                correctAnswer = false;

            }else {
                correctAnswer = true;
                break;
            }
        }
        if (correctAnswer){
            System.out.println("* Você acertou! O número era " + randomNumber + " *");
        } else {
            System.out.println("* Você errou as 5 tentativas!\n" +
                    "O número era " + randomNumber + " *");
        }

        System.out.println("***FIM DE JOGO***");
    }
}
1 resposta
solução!

Olá João, tudo bem?

O código que você postou parece estar funcionando bem, mas se você quiser melhorá-lo, uma sugestão é adicionar uma mensagem de erro caso o usuário digite um número fora do intervalo de 0 a 100. Você pode fazer isso utilizando um condicional para verificar se o número digitado está dentro do intervalo desejado.

Por exemplo:

if (userAttempt < 0 || userAttempt > 100) {
    System.out.println("* Erro! Digite um número entre 0 e 100! *");
    continue;
}

Dessa forma, se o usuário digitar um número fora do intervalo, o programa exibirá a mensagem de erro e pedirá para que ele tente novamente, sem contar como uma tentativa.

Espero ter ajudado e bons estudos!