1
resposta

Duvida

Quando roda o codigo só aparece que o numero gerado é menor do que o digitado, mesmo não sendo. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Maria!

Pelo que entendi, você está com uma dúvida em relação ao jogo de adivinhação que está criando em Java. O problema é que, quando você roda o código, mesmo digitando um número maior, aparece a mensagem de que o número gerado é menor. Vamos analisar o código para encontrar uma solução.

Pelo contexto que você compartilhou, o código deve gerar um número aleatório entre 0 e 100 e pedir para que o usuário tente adivinhar o número em até 5 tentativas. A cada tentativa, o programa deve informar se o número digitado pelo usuário é maior ou menor do que o número gerado.

Vamos analisar o trecho de código que pode estar causando o problema:

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

Parece que a lógica está invertida. Quando o número digitado é maior do que o número gerado, a mensagem exibida é "O número gerado é menor do que o digitado". E quando o número digitado é menor do que o número gerado, a mensagem exibida é "O número gerado é maior do que o digitado".

Para corrigir isso, basta inverter as mensagens dentro dos System.out.println(). Ficaria assim:

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

Dessa forma, quando o número digitado for maior do que o número gerado, a mensagem correta será exibida.

Espero que essa solução ajude a resolver o problema. Se tiver mais alguma dúvida, é só me dizer.

Espero ter ajudado e bons estudos!