Quando roda o codigo só aparece que o numero gerado é menor do que o digitado, mesmo não sendo.
Quando roda o codigo só aparece que o numero gerado é menor do que o digitado, mesmo não sendo.
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!