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

Dúvida no código de execução

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

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

        Scanner adivinhacao = new Scanner(System.in);
        int numeroAleatorio = new Random().nextInt(100);
        int chances =5;

        while (chances > 0) { // Até 5 tentativas//
            System.out.println("Digite um número de 0 a 100");
            int numero = adivinhacao.nextInt();

            if (numero == numeroAleatorio) {
                System.out.println("Parabens, vc acertou o número em" + chances + "tentativas");
                break;
            } else {
                System.out.println("Não é esse, vc ainda tem " + (chances - 1) + " tentativas ");

                if (numero > numeroAleatorio) {
                    System.out.println("O número digitado é maior que o número gerado.");
                } else {
                    System.out.println("O número digitado é menor que o número gerado");

                }
            }
            chances -=1;


        }
            if (chances == 0) {
                System.out.println("Que pena, vc não conseguiu acertar o número, tente jogar novamente. O número gerado foi " + numeroAleatorio);
            }
        }
    }

/*Quando eu executo o código, exibe a mensagem para eu escolher um número de 0 a 100, e se eu não acerto, exibe, faltam tantas tentativas, mas, quando não tenho mais nenhuma tentativa, ele exibe a mensagem, "Que pena, vc não conseguiu acertar o número." mas acima dessa mensagem, exibe está faltando 0 tentativas, e não queria exibir essa mensagem, quando não tivesse mais nenhuma tentativa, só queria que exibisse a mensagem, Que pena, vc não conseguiu acertar o número, tente jogar novamente. O número gerado foi ", só queria que ele exibisse as mensagens, faltam 4 tentativas, faltam3 tentativas, faltam 2 tentativas, mas 0 tentativas não queria que aparecesse para o usuário, e estou em dúvida de como fazer isso, conseguem me ajudar, por favor ? Muito obrigado */

2 respostas
solução!

Olá,

sugestão...

         Scanner adivinhacao = new Scanner(System.in);
        int numeroAleatorio = new Random().nextInt(100);
        int chances = 5;
        boolean acertou = false;

        do {
            System.out.printf("Digite um número de 0 a 100, " +
                    "vc ainda tem %d tentativas: ", chances);
            int numero = adivinhacao.nextInt();
            chances--;

            if (numero == numeroAleatorio) {
                System.out.printf("\nParabens, vc acertou o número em " +
                        "%d tentativas.", (5 - chances));
                acertou = true;
                break;
            } else {
                System.out.println("\nNão é esse. ");

                if (chances == 0){
                    break;
                } else if (numero > numeroAleatorio) {
                    System.out.print(
                            "O número digitado é maior que o número gerado.\n");
                } else {
                    System.out.print(
                            "O número digitado é menor que o número gerado\n");

                }
            }
        } while (true);

        if (acertou == false) {
            System.out.printf("\nQue pena, vc não conseguiu acertar o número, " +
                            "tente jogar novamente.\nO número gerado foi %d.",
                    numeroAleatorio);
        }

Muito obrigado, consegui resolver o problema