Comparto el codigo, me llevo un rato, pero lo tengo, me indican sugerencias de como mejorar mas
import java.util.Random;
import java.util.Scanner;
public class tarea2 {
public static void main(String[] args) {
    System.out.println("Adivina el Numero");
    String reglas = """
            Debes adivinar un numero entre 0 y 100
            solo tendrás 5 oportunidades para lograrlo.
            Solo deben ser números Enteros y Positivos.
            Asi que manos a la obra y Juguemos""";
    System.out.println(reglas);
    int numRandom = new Random().nextInt(101);
  //  System.out.println(numRandom);
    int intentos = 0;
    boolean logro = false;
    Scanner teclado = new Scanner(System.in);
    for (int i = 0; i < 5; i++) {
        int numValido =-1;
        boolean entradaValida = false;
        while (!entradaValida){
            System.out.println("Ingresa un Numero entre 0 y 100");
            if (teclado.hasNextInt()){
                int num = teclado.nextInt();
                if (num >=0 && num <=100){
                    numValido =num;
                    entradaValida = true;
                }else {
                    System.out.println("El número debe estar entre 0 y 100");
                }
            }else {
                System.out.println("Ingresa Solo numeros enteros!!!");
                teclado.next();
            }
        }
        if (numValido == numRandom) {
            System.out.println("Has acertado al numero en " + (i + 1) + " intentos, Felicitaciones");
            logro = true;
            break;
        } else if (numValido > numRandom) {
            System.out.println("El numero es Menor");
        } else {
            System.out.println("El numero es Mayor");
        }
    }
    teclado.close();
    // Si llega aquí, es porque no adivinó en 5 intentos
    if (!logro) {
        System.out.println("Lo siento, no adivinaste. El número era: " + numRandom + "Para la Próxima");
    }
}
}
 
            