Como sei que o número de tentativas é limitado, no caso, sei quantas vezes irá repetir, achei mais interessante usar a estrutura for junto a estrutura do else-if com operador ternário.
import java.util.Scanner;
import java.util.Random;
public class App {
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);
System.out.println("Jogo de adivinhação!");
int numeroAleatorio = new Random().nextInt(100);
System.out.println("Número aleatório gerado de 0 a 100!");
for (int i = 1; i <= 5; i++) {
System.out.print("Digite um número: ");
int numeroDigitado = scanner.nextInt();
if(numeroDigitado == numeroAleatorio) {
System.out.println("Parabéns, número encontrado!");
break;
} else if(i == 5) {
System.out.println(String.format("Infelizmente o número %d não foi encontrado", numeroAleatorio));
} else {
String resultado = numeroDigitado > numeroAleatorio ? "O número digitado é maior que o número gerado" : "O número digitado é menor que o número gerado";
System.out.println(resultado);
}
}
scanner.close();
}
}