Oii, Felipe! Tudo bem?
Obrigada por compartilhar seu código com a comunidade Alura.
Gostei de como você implementou a lógica de tentativas no seu jogo. Parabéns por praticar.
Fiz uns ajustes no seu código, o problema principal era que o número de tentativas permitia um valor negativo, se você não quiser que isso aconteça, teste o código abaixo. Ah também adicionei uma validação para limitar o número de tentativas.
- A variável
maxTentativas
foi adicionada para facilitar o controle do limite de tentativas. - O loop
do-while
foi alterado para tentativas < maxTentativas
para garantir que não haja tentativas negativas. - Mensagens ajustadas para o caso de alcançar o número máximo de tentativas.
Agora o programa exibe corretamente as tentativas restantes e evita mostrar tentativas negativas.
import java.util.Random;
import java.util.Scanner;
public class Atividade2 {
public static void main(String[] args) {
int numAleatorio = new Random().nextInt(100);
int num;
int tentativas = 0;
int maxTentativas = 5;
Scanner scanner = new Scanner(System.in);
do {
System.out.println("Digite o número:");
num = scanner.nextInt();
tentativas++;
if (num == numAleatorio) {
System.out.println("Parabéns! Você acertou! O número era: " + numAleatorio);
System.out.println("Número de tentativas: " + tentativas);
break;
} else {
if (tentativas < maxTentativas) {
System.out.println("Tente novamente.");
System.out.println("Restam tentativas: " + (maxTentativas - tentativas));
System.out.println("-----------------------------------------");
} else {
System.out.println("Número máximo de tentativas atingido.");
System.out.println("-----------------------------------------");
}
}
} while (tentativas < maxTentativas);
if (num != numAleatorio) {
System.out.println("O número correto era: " + numAleatorio);
}
scanner.close();
}
}
Exemplo:
Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!