¡Hola Lygj, espero que estés bien!
El problema que estás experimentando en tu código es que estás imprimiendo el número aleatorio antes de que el usuario tenga la oportunidad de adivinarlo. Esto puede confundir al usuario y arruinar la experiencia del juego.
Además, hay un pequeño error en el mensaje que imprimes cuando el número ingresado es mayor o menor que el número aleatorio.
Para solucionar esto, simplemente debes mover la línea System.out.println(numeroAleatorio);
después de que el usuario haya tenido la oportunidad de adivinar el número. De esta forma, el número aleatorio se mostrará después de que el usuario haya intentado adivinarlo.
Aquí tienes el código corregido:
public class AdivinarNumero {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int numeroAleatorio = new Random().nextInt(100);
int intentos = 0;
System.out.println("¿Puedes adivinar el número secreto entre 1 y 100, en solo 5 intentos? ");
System.out.println("¡Vamos! ingresa el número");
while (intentos < 5) {
int numeroIngresado = scanner.nextInt();
intentos++;
if (numeroIngresado == numeroAleatorio) {
System.out.println("¡Correcto! Adivinaste el número secreto, el número era " + numeroAleatorio);
break;
} else {
if (numeroIngresado > numeroAleatorio) {
System.out.println("El número es menor");
} else {
System.out.println("El número es mayor");
}
}
if (intentos == 5) {
System.out.println("No has conseguido adivinar el número secreto, el número era " + numeroAleatorio);
}
}
System.out.println(numeroAleatorio);
}
}
Espero que esto te ayude a corregir el problema. ¡Buena suerte con tu juego de adivinanzas!
Espero haber ayudado y buenos estudios!