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

Compartilhando minha solução

import java.util.Scanner;
import java.util.Random;
    
public class JogoNumeroSecreto {
    public static void main(String[] args) {
    Scanner leitura = new Scanner(System.in);
    Random random = new Random();

    double chute = 0;
    int totalDeChutes = 0;
    int numeroAleatorio = random.nextInt(101);

    System.out.println("Bem vindo ao jogo do número secreto, fale um número:  ");

    for (int i = 0; i < 5; i++) {
        chute = leitura.nextDouble();
        totalDeChutes ++;

        if (chute > numeroAleatorio) {
            System.out.println("O número alatório é menor, tente de novo!");
            System.out.println("Essa foi a tentativa n°" + totalDeChutes);
        } else if (chute < numeroAleatorio) {
            System.out.println("O número alatório é maior, tente de novo!");
            System.out.println("Essa foi a tentativa n°" + totalDeChutes);
        } else {
            System.out.println("Parabéns, você acertou o número secreto.");
            System.exit(0);
        }
    }
    if (totalDeChutes == 5) {
        System.out.println("Suas tentativas acabaram, mais sorte na próxima   D: ");
        System.exit(0);
        }
    }
}
1 resposta
solução!

Boa tarde, Bruno! Tudo bem com você?

Meus parabéns pelo código do jogo do número secreto. É ótimo ver você utilizando a classe Random para gerar o número aleatório e a classe Scanner para capturar a entrada do usuário. Gostaria de aproveitar a oportunidade e deixar duas recomendações de boas práticas de codificação:

  • Uso do System.exit(0): Embora o uso de System.exit(0) funcione para encerrar o loop for, é mais comum usar um break para sair do loop e permitir que o programa termine naturalmente. O seu código ficará da seguinte forma:

        } else {
            System.out.println("Parabéns, você acertou o número secreto.");
            break;
        }
    
  • Fechamento do Scanner: É uma boa prática fechar o Scanner após o uso para evitar possíveis vazamentos de recursos. Para isso, basta chamar o método .close() do objeto Scanner, como demonstrado a seguir:

    leitura.close();
    

Código com as mudanças aplicadas

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

public class JogoNumeroSecreto {
    public static void main(String[] args) {
        Scanner leitura = new Scanner(System.in);
        Random random = new Random();

        double chute = 0;
        int totalDeChutes = 0;
        int numeroAleatorio = random.nextInt(101);
        System.out.println(numeroAleatorio);
        System.out.println("Bem vindo ao jogo do número secreto, fale um número:  ");

        for (int i = 0; i < 5; i++) {
            chute = leitura.nextDouble();
            totalDeChutes ++;

            if (chute > numeroAleatorio) {
                System.out.println("O número alatório é menor, tente de novo!");
                System.out.println("Essa foi a tentativa n°" + totalDeChutes);
            } else if (chute < numeroAleatorio) {
                System.out.println("O número alatório é maior, tente de novo!");
                System.out.println("Essa foi a tentativa n°" + totalDeChutes);
            } else {
                System.out.println("Parabéns, você acertou o número secreto.");
                break;
            }
        }
        if (totalDeChutes == 5) {
            System.out.println("Suas tentativas acabaram, mais sorte na próxima   D: ");
            System.exit(0);
        }

        leitura.close();

    }
}

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!