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

[Projeto] Primeiro desafio feito bora para o próximo

//Bibliotecas import java.util.Random; import java.util.Scanner;

public class JogoAdivinhacao {

public static void main(String[] args) {
    
    //Variaveis
    int numAleatorio = new Random().nextInt(100);
    int totalTentaiva = 0;
    int tentativaRestante = 5;
    int chute = 0;

    System.out.println("JOGO DA ADIVINHAÇÃO");

    //Loop for
    for (int i = 0; i < 5; i++) {
        Scanner tentativa = new Scanner(System.in);
        System.out.printf("Digite um número de 0 a 100: ");
        chute = tentativa.nextInt();
        
        //Condicionais if
        if (chute != numAleatorio) {
            if(chute > numAleatorio) {
                System.out.println("Seu chute foi maior que o número aleatório");
            } else {
                System.out.println("Seu chute foi menor que o número aleatório");
            }
            tentativaRestante--;
            totalTentaiva++;
            System.out.println(String.format("Você tem mais %d Tentativas ", tentativaRestante));
        } else {
            break;
        }
    }
    
    //Condicional if parabenizando ou desejando melhor sorte da próxima vez
    if(chute == numAleatorio) {
        System.out.println(String.format("PARABÉNS!!! o número secreto é %d, Você acertou na tentativa número %d ",numAleatorio, totalTentaiva + 1));
    } else {
        System.out.println("Game Over!! Mais sorte na próxima vez");
    }


}

}

2 respostas
solução!

Olá, Jackson!

O código que você postou está bem estruturado e segue as instruções do exercício. Ele gera um número aleatório entre 0 e 100 e pede para o usuário tentar adivinhar esse número em até 5 tentativas. A cada tentativa, o programa informa se o número digitado pelo usuário é maior ou menor do que o número gerado.

Uma sugestão de melhoria é 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 uma estrutura condicional antes de verificar se o número é maior ou menor.

Além disso, você pode adicionar uma mensagem de parabenização caso o usuário acerte o número ou uma mensagem de encorajamento caso ele não acerte em nenhuma das tentativas.

Ficaria algo assim:

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

public class JogoAdivinhacao {

    public static void main(String[] args) {

        // Variáveis
        int numAleatorio = new Random().nextInt(100);
        int totalTentaiva = 0;
        int tentativaRestante = 5;
        int chute = 0;

        System.out.println("JOGO DA ADIVINHAÇÃO");

        // Loop for
        for (int i = 0; i < 5; i++) {
            Scanner tentativa = new Scanner(System.in);
            System.out.printf("Digite um número de 0 a 100: ");
            chute = tentativa.nextInt();

            // Verifica se o número está dentro do intervalo
            if (chute < 0 || chute > 100) {
                System.out.println("Número inválido! Digite um número entre 0 e 100.");
                continue; // Volta para o início do loop
            }

            // Condicionais if
            if (chute != numAleatorio) {
                if (chute > numAleatorio) {
                    System.out.println("Seu chute foi maior que o número aleatório");
                } else {
                    System.out.println("Seu chute foi menor que o número aleatório");
                }
                tentativaRestante--;
                totalTentaiva++;
                System.out.println(String.format("Você tem mais %d Tentativas ", tentativaRestante));
            } else {
                break;
            }
        }

        // Condicional if parabenizando ou desejando melhor sorte da próxima vez
        if (chute == numAleatorio) {
            System.out.println(String.format("PARABÉNS!!! o número secreto é %d, Você acertou na tentativa número %d ", numAleatorio, totalTentaiva + 1));
        } else {
            System.out.println("Game Over!! Mais sorte na próxima vez");
        }

    }
}

Espero ter ajudado e bons estudos!

Show a mensagem de número invaálido realmente não tinha pensando nisso obrigado pela dica e ficu muito show, a mensagem parabenizando caso o jogador acerte ou caso ele não consiga acertar nas 5 tentativas eu coloquei fora do for nas últimas linhas.

Obrigado pela avaliação e pelas dicas!