Olá! Aqui está minha resolução para a atividade proposta (segue algumas dúvidas no final!):
import java.util.Random;
import java.util.Scanner;
public class JogoDeAdivinhacao {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int numeroSecreto = new Random().nextInt(100);
int tentativas = 0;
int maxTentativas = 5;
System.out.println("JOGO DE ADIVINHAÇÃO");
System.out.println("Você terá que adivinhar o número dando um palpite de 0 a 100 em apenas 5 tentativas!");
while (tentativas < maxTentativas) {
System.out.println((tentativas+1) + "ª tentativa - digite um número:");
int palpite = sc.nextInt();
tentativas++;
if (numeroSecreto == palpite) {
System.out.println("Parabéns, você adivinhou o número secreto!");
break;
} else if (numeroSecreto < palpite) {
System.out.println("Você errou! Tente um número menor:");
} else {
System.out.println("Você errou! Tente um número maior:");
}
if (tentativas == 5) {
System.out.println("Você esgotou o número de tentativas. O número secreto era: " + numeroSecreto);
}
}
sc.close();
}
}
A dúvida seria que, conforme mostra na imagem abaixo do console, na 5ª tentativa ele imprime "tente um número maior", mesmo tendo esgotado as tentativas e finalizando o jogo em seguida. Como eu poderia corrigir essa saída no código? Gostaria de aproveitar tbm a oportunidade e tirar outra dúvida: de pq algumas resoluções postadas aqui no fórum possuem o valor de 101 ao invés de 100 na chamada do random, como "new Random().nextInt(101)"? Obrigado desde já!!