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

[Projeto] Jogo de Advinhação

Segue meu pequeno projeto e do jeito que entendi fui fazendo, espero que esteja certo, pelo menos funcionou aqui rsrsr

import java.util.Random; import java.util.Scanner; public class Main {

public static void main(String[] args) {

    System.out.println("Bem vindo ao Jogo de Advinhação!");
    Scanner jogador = new Scanner (System.in);
    int numeroGerado = new Random().nextInt(100);
    int tentativas = 0;
    int numeroDigitados = 0;

    while (tentativas <5) {
        System.out.println("Digite um número de 1 a 100 ");
        numeroDigitados = jogador.nextInt();
        tentativas++;

        if (numeroGerado == numeroDigitados) {
            System.out.println("Parabéns, você acertou o número em " + tentativas);
            break;

        } else if (numeroDigitados < numeroGerado) ;
        System.out.println("O número digitado é menor que o número gerado");

        if (tentativas ==  5 && numeroDigitados != numeroGerado){
            System.out.println("Você não conseguiu acertar o número em 5 tentativas. O número era: " + numeroGerado);
        }

    }

}

}

1 resposta
solução!

Olá, Cássia Fernanda! Acho o seguinte. Se você usa .nextInt(100) (linha 4 de código), o número 100 nunca seria sorteado, e isso iria contra o que foi pedido no desafio.

Diferença entre nextInt(100) e nextInt(101). new Random().nextInt(100) gera números de 0 até 99 (exclui o 100). new Random().nextInt(101) gera números de 0 até 100 (inclui o 100).

O desafio pede gerar um número aleatório entre 0 e 100. O número 100 deve estar incluso. Acho que o código certo de linha 4 é:

int numeroGerado = new Random().nextInt(101);

Além disso, pelo que entendi é boa prática fechar o scanner no final

jogador.close();