1
resposta

[Projeto] Projeto - Adivinhação

import javax.swing.*;
import java.util.Random;
import java.util.Scanner;

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

    /*
    O meu código está com uma falha, estou tendo que dar mais de um input caso não acerte o número secreto, não consegui encontrar o defeito.
     */


    //Declaração das variáveis
    int numeroSecreto;
    int tentativas;
    numeroSecreto = new Random().nextInt(100);


    //Mensagem inicial
    JOptionPane.showMessageDialog(null, """
            Bem vindo
            Hoje você participará do jogo de adivinhação!!!
            Você tem 5 tentativas para adivinhar o número.
            boa sorte!
            """);


    //Laço de repetição, deixei pra incluir o decremento dentro das condicionais.
    for (tentativas = 5; tentativas >= 0; ) {


       //Se as tentativas esgotarem, exibe uma mensagem, mostra o número secreto e encerra a aplicação com o break
        if (tentativas == 0) {
            JOptionPane.showMessageDialog(null, "Que pena, suas tentativas expiraram :( O número secreto era: " + numeroSecreto);
            break;
        }

       //Input do usuário
        Scanner numeroFornecido = new Scanner(System.in);

        //Primeira condicional, se acertar o número exibe a mensagem e encerra a aplicação.
        if (numeroFornecido.nextInt() == numeroSecreto) {
            JOptionPane.showMessageDialog(null, "Parabéns, você acertou! O número secreto era: " + numeroSecreto);
            break;
        }
        //Segunda condicional, se o número informado for menor, exibe a mensagem, decrementa a tentativa e exibe as tentativas restantes.
        else if (numeroFornecido.nextInt() < numeroSecreto) {

            JOptionPane.showMessageDialog(null, "O número secreto é maior!");
            tentativas--;
            JOptionPane.showMessageDialog(null, "Você ainda tem " + tentativas + " restantes.");

        }
        //Terceira tentativa, se o número for maior, exibe a mensagem, decrementa a tentativa e exibe as tentativas restantes.
        else if (numeroFornecido.nextInt() > numeroSecreto) {
            JOptionPane.showMessageDialog(null, "O número secreto é menor!");
            tentativas--;
            JOptionPane.showMessageDialog(null, "Você ainda tem " + tentativas + " restantes.");

        }


    }


}

}

1 resposta

Olá, Fillype! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o for para controlar as tentativas com Java, utilizou muito bem o Random para gerar o número secreto e ainda compreendeu a importância do Scanner para capturar os inputs do usuário.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Sugestão de conteúdo para você mergulhar ainda mais no tema:

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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