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

Exercicio resolvido jogo da adivinhação

Boa tarde, professores da Alura e comunidade. Segue minha resolução, optei por utilizar o switch na verificação dos números, e como estava com dificuldades na sintaxe, pedi uma ajuda para a Luri! Apesar do código ter ficado um pouco extenso, gostei do mesmo!

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

public class ExercicioContador {
    public static void main(String[] args) {
        /*
        * Exercício: Criar 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.
        */

        //Criar objeto scanner para ler a entrada
        Scanner scanner = new Scanner(System.in);

        //Criar objeto random para ler o número aleatório
        Random random = new Random();
        int numAleatorio = random.nextInt(100); //Numero entre 0 e 100
        int jogadaUsuário, tentativasRestantes = 5; //Variaveis para a jogada do usuário e as tentativas restantes

        System.out.println("Bem-vindo ao jogo de adivinhação!");
        System.out.println("Tente adivinhar o número entre 0 e 100.");
        System.out.println("Você tem " + tentativasRestantes + " tentativas.");

        while (tentativasRestantes > 0){
            System.out.print("Digite sua jogada: ");
            jogadaUsuário = scanner.nextInt();

            switch (Integer.compare(jogadaUsuário, numAleatorio)){
                case 0: //Números iguais
                    System.out.println("Parabéns! Você acertou o número!");
                    return; // Encerra o jogo

                case 1: //jogadaUsuario é maior que numAleatorio
                    System.out.println("O número é menor.");
                    break;

                case -1: //jogadaUsuario é menor que numAleatorio
                    System.out.println("O número é maior.");
                    break;
            }

            tentativasRestantes--;

            if (tentativasRestantes > 0 ){
                System.out.println("Você tem " + tentativasRestantes + " tentativas restantes.");
            } else {
                System.out.println("Você não conseguiu adivinhar o número. O número era " + numAleatorio + ".");
            }

        }

    }
}

Desde já, obrigado pela atenção!

1 resposta
solução!

Boa noite, Natan! Tudo bem com você?

Gostei da abordagem usando o switch. É uma maneira organizada de lidar com diferentes casos. Algumas dicas para melhorar ainda mais o seu código, tornando-o mais claro e eficiente.

  1. Nome das Variáveis: Tente usar nomes de variáveis em português ou inglês, mas de forma consistente e sem acentos. Por exemplo, jogadaUsuario ao invés de jogadaUsuário.

  2. Fechamento do Scanner: É uma boa prática fechar o Scanner após o uso para liberar memória, exemplo: scanner.close().

Mas, com o tempo e prática você vai ficando cada vez mais craque. Sucesso na sua jornada. Abraços e bons estudos!