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

Código da aula

import java.util.Random;
import java.util.Scanner;
public class JogoDaAdivinhacao {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int random = new Random().nextInt(100);
        int tries = 0;
        while (tries < 5) {
            System.out.println("Adivinhe um número!");
            int guess = in.nextInt();
            tries++;
            if (guess == random) {
                System.out.println("Você acertou em " + tries + " tentativas! Parabéns!");
                break;
            } else if (random < guess) {
                System.out.println("Menor!");
            } else {
                System.out.println("Maior!");
            }
        }
           if (tries == 5) {
               System.out.println("Você não acertou em cinco tentativas, o número era " + random);
           }
    }
}
2 respostas

Olá, Antônio!

No código, você utiliza a classe Random para gerar um número aleatório entre 0 e 99 (pois você utiliza nextInt(100)). Em seguida, você utiliza a classe Scanner para ler a entrada do usuário e armazenar na variável guess.

Dentro do loop while, você verifica se o número adivinhado (guess) é igual ao número gerado aleatoriamente (random). Se for igual, você imprime uma mensagem de parabéns e encerra o jogo com o comando break. Caso contrário, você verifica se o número adivinhado é maior ou menor que o número gerado e imprime uma mensagem correspondente.

Se o número de tentativas (tries) chegar a 5 e o jogador não tiver acertado, você imprime uma mensagem informando qual era o número correto.

No geral, o seu código parece estar correto e funcional. Parabéns!

Bons estudos!

solução!

Olá Antônio,

Percebi que a sua lógica foi bem parecida com a minha, mas notei que se o usuário acertar o número na última tentativa, a mensagem de derrota será exibida. Para corrigir isso, sugiro que você faça a seguinte alteração no código:

if (tries == 5 &&  guess != random) {
            System.out.println("Você não acertou o número. O número aleatório é: " + random);
        }

Dessa forma, a mensagem de derrota só será exibida se o usuário não tiver acertado o número após as cinco tentativas.

Espero ter ajudado!"