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

[Projeto] jogo de adivinhação

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

public class JogoDeAdvinhacao {
    public static void main(String[] args) {
        /*
        Agora é com você! Pratique os conceitos que foram ensinados ao longo dessa aula com o seguinte desafio:
        Crie um programa que simula um jogo de adivinhação, que deve gerar um número aleatório entre 0 e 100 e pedir para
        que o usuário tente adivinhar o número, em até 5 tentativas. A cada tentativa, o programa deve informar se o
        número digitado pelo usuário é maior ou menor do que o número gerado.

        Dicas:

        Para gerar um número aleatório em Java: new Random().nextInt(100);
        Utilize o Scanner para obter os dados do usuário;
        Utilize uma variável para contar as tentativas;
        Utilize um loop para controlar as tentativas;
        Utilize a instrução break; para interromper o loop.
        */

        Scanner entrada = new Scanner(System.in);

        int numeroAleatorio = new Random().nextInt(100) + 1;
        int tentativas = 5;
        int numeroDigitado = 0;
        String mensagem = """
                JOGO DA ADVINHAÇÃO
                
                Digite entre o número 1 e 100 para tentar adivinhar.
                OBS. Voce tem apenas %d tentavias
                """.formatted(tentativas);
        System.out.println(numeroAleatorio);

        System.out.println(mensagem);
        while (tentativas > 0) {
            System.out.println("Digite o número entre 1 e 100: ");
            numeroDigitado = entrada.nextInt();

            if (numeroDigitado == numeroAleatorio) {
                System.out.println("PARABÉNS, VOCE ACERTOUUU!!!");
                break;
            }
            tentativas--;
            System.out.println("VOCE ERROU, você ainda tem %d ".formatted(tentativas) +
                    (tentativas == 0 ? "tentativa" : "tentavias") + (tentativas == 0 ? "" : ", tente novamente!"));

            System.out.println("DICA: O número gerado aleatório é " + (numeroDigitado > numeroAleatorio ? "menor" : "maior") + " que o número informado!");

        }
    }
}
1 resposta
solução!

Olá, Aldeny, como vai?

O código que você desenvolveu atende perfeitamente aos requisitos do desafio proposto, demonstrando um bom domínio sobre estruturas de repetição, condicionais e a manipulação de entradas com a classe Scanner. A lógica utilizada para fornecer dicas sobre o número ser maior ou menor ajuda na experiência do usuário e a implementação do limite de tentativas está correta.

É muito bom ver que você utilizou blocos de strings e formatação de texto para tornar a interface do terminal mais organizada. Como uma sugestão para aprimorar ainda mais o seu projeto, você pode fechar o objeto Scanner ao final do método main utilizando o comando entrada.close() para garantir que os recursos do sistema sejam liberados adequadamente após a execução.

Parabéns pelo excelente desempenho na atividade e por compartilhar sua solução com a comunidade. Continue praticando e postando seus avanços por aqui.

O fórum permanece à sua disposição para qualquer dúvida ou contribuição que queira realizar.

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