Yo utilicé la estructura for para este desafío. :)
import java.util.Random;
import java.util.Scanner;
public class JuegoDeAdivinacion {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int numeroUsuario = 0;
int numeroParaAdivinar = new Random().nextInt(20) + 1;
boolean adivino = false;
for (int contador = 0; contador < 5; contador++) {
System.out.println("Escribe un número entre 1 y 20");
numeroUsuario = teclado.nextInt();
if (numeroUsuario == numeroParaAdivinar) {
System.out.println("¡Felicidades!¡Has adivinado el número");
adivino = true;
break;
} else if (numeroUsuario < numeroParaAdivinar) {
System.out.println("El número secreto es mayor.");
} else {
System.out.println("El número secreto es menor.");
}
}
if (!adivino) {
System.out.println("No adivinaste. El número secreto es: " + numeroParaAdivinar);
}
}
}