Yo preferi hacer el desafio con un bucle for en vez de while, y me quedo asi:
import java.util.Random;
import java.util.Scanner;
public class NumeroRandom {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int random = new Random().nextInt(100);
int numero;
int intentos = 0;
for (var i = 0; i <= 4; i++) {
System.out.print("Adivina el numero entre 0 y 100, tienes 5 intentos: ");
numero = scanner.nextInt();
intentos += 1;
if (numero == random) {
System.out.println("Felicidades, adivinaste el numero: " + random + " en el intento: " + intentos);
} else if (numero < random) {
System.out.println("El numero ingresado es menor al generado, vas en el intento: " + intentos);
} else {
System.out.println("El numero ingresado es mayor al generado, vas en el intento: " + intentos);
}
if (intentos == 5) {
System.out.println("Lo siento, no adivinaste el numero, el numero era: " + random);
}
}
scanner.close();
}
}