Minha Solução:
import java.util.Random;
import java.util.Scanner;
public class Jogo {
public static void main(String[] args) {
int numeroRandomico = new Random().nextInt(100);
int chute = 0;
Scanner scanner = new Scanner(System.in);
int tentativas = 0;
System.out.println("""
*******************
JOGO DA ADIVINHAÇÃO
*******************
Tente adivinhar o número de 0 a 100!
""");
while (tentativas < 5) {
tentativas++;
System.out.printf("Tentativa %d de 5%n", tentativas);
System.out.println("Digite um numero de 0 a 100: ");
chute = scanner.nextInt();
if (chute == numeroRandomico) {
System.out.println("Parabéns, você acertou!");
break;
} else {
System.out.println("Você errou, tente novamente!");
if (chute > numeroRandomico) {
System.out.println("O número randômico é menor que o chute!");
} else {
System.out.println("O número randômico é maior que o chute!");
}
}
}
if (!(chute == numeroRandomico)) {
System.out.printf("O número randômico era %d%n", numeroRandomico);
}
}
}
No código da resolução é colocada uma condição a mais no If final que é (chute != numeroRandomico && tentativas == 5), mas essa condição de tentativas == 5 é necessário? Meu código funciona normal sem e eu achei bem redundante, já que o loop já garante que após 5 tentativas o usuário cairá no if subsequente.