Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Projeto] Jogo de adivinhação

Tentei ir um pouco além e fiz uma estrutura para permitir o usuário escolher se deseja jogar novamente ou finalizar a brincadeira.

Também incrementei uma validação para evitar que seja digitado números que não estejam entre 0 e 100. E nessa eu demorei um bocado pesquisando para achar sobre esse bendito continue; para a validação parar de contar as tentativas mesmo digitando números inválidos.

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

public class NumeroAleatorio {
    public static void main(String[] args) {

        Scanner leitorNumero = new Scanner(System.in);
        String jogarNovamente;

        do {
            int numeroSecreto = new Random().nextInt(101);
            int numeroTentativas = 0;
            int numeroDigitado = 0;

            System.out.println("***** Boas-vindas ao jogo do número secreto! *****");
            System.out.println("***** Tente adivinhar o número entre 0 e 100. *****");


            while (numeroTentativas < 5) {
                System.out.printf("Digite um número entre 0 e 100: ");
                numeroDigitado = leitorNumero.nextInt();

                if (numeroDigitado < 0 || numeroDigitado > 100) {
                    System.out.println("Erro! Você digitou um número inválido");
                    continue;
                }

                numeroTentativas++;

                if (numeroDigitado == numeroSecreto) {
                    System.out.println("Parabéns, acertou o número secreto em " + numeroTentativas + " tentativas");
                    break;
                } else if (numeroDigitado < numeroSecreto) {
                    System.out.println("O número secreto é maior que " + numeroDigitado + ". Restam " + (5 - numeroTentativas) + " tentativas");
                } else {
                    System.out.println("O número secreto é menor que " + numeroDigitado + ". Restam " + (5 - numeroTentativas) + " tentativas");
                }
                if (numeroTentativas == 5 && numeroDigitado != numeroSecreto) {
                    System.out.println("Que pena! Suas tentativas acabaram! O número secreto era: " + numeroSecreto);
                }
            }

            System.out.println("Deseja jogar novamente? (s/n): ");
            jogarNovamente = leitorNumero.next();

        }
        while (jogarNovamente.equalsIgnoreCase("s"));

        System.out.println("Obrigado por jogar! Até a próxima.");
        leitorNumero.close();
    }
}

E foi assim que ficou meu singelo código.

4 respostas
solução!

Oi, Victor! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Ficou ótimo! A ideia de adicionar a opção de jogar novamente e validar o intervalo dos números mostra que você entendeu bem o conteúdo e ainda foi além, explorando estruturas como continue para controlar o fluxo — isso realmente faz diferença em experiências interativas.

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

Victor Gabriel Fortunato Bianchini , boa noite Parabens pelo seu projeto. Ficou otimo

Boa noite, muito obrigado pelos Feedbacks Lorena e Rosangela.

Boa sorte nesta jornada