Coloquei um tratamento de dados caso o jogador não coloque um número.
import java.util.Scanner;
import java.util.Random;
public class Jogo {
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
int numeroSecreto = new Random().nextInt(101);
int numeroDeTentativas = 1;
int palpite = 0;
final int limiteTentativas = 5;
while (numeroSecreto != palpite && numeroDeTentativas <= limiteTentativas) {
System.out.println("Adivinhe o número entre 0 e 100. Tentativa de número " + numeroDeTentativas);
while (!leitura.hasNextInt()) {
System.out.println("Por favor, insira um número válido.");
leitura.next();
}
palpite = leitura.nextInt();
numeroDeTentativas++;
if (palpite < numeroSecreto) {
System.out.println("O número secreto é maior!");
} else if (palpite > numeroSecreto) {
System.out.println("O número secreto é menor!");
} else {
System.out.println("Parabéns, você acertou!\nO número secreto era: " + numeroSecreto);
System.out.println("Você acertou em " + (numeroDeTentativas - 1) + " tentativas!");
break;
}
if (numeroDeTentativas > limiteTentativas) {
System.out.println("Você atingiu o limite de " + limiteTentativas + " tentativas. O número secreto era: " + numeroSecreto);
break;
}
}
}
}