En el caso de que se adivine el número generado en el quinto intento, al ingresar en el while por quinta vez (i = 4) primero se incrementa el valor del contador (o sea i ahora = 5) y despues se compara, el valor ingresado es igual al valor generado, imprime el mensaje de acierto e interrumpe el ciclo while con el break, pero pasa a comparar para el mensaje (el cual se encuentra despues del lazo while) de si los intentos fueron los permitidos que en el caso de que el acierto fue en el quinto, es true, por lo que imprime tambien el mensaje de "Lo siento, no conseguiste adivinar el número en 5 intentos. El número era " + numeroGenerado.
una posible solucion a este problema seria poner el siguiente bloque
if (intentos == 5) {
System.out.println("Lo siento, no conseguiste adivinar el número en 5 intentos. El número era " + numeroGenerado);
break;
}
dentro del lazo while antes de cerrarlo, o bien hacer el incremento de intentos antes de salir del lazo while y no antes de los if.
Les muestro la consola del caso planteado.
"C:\Program Files\Java\jdk-17\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2024.1\lib\idea_rt.jar=62486:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2024.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\Alure curso Oracle\Cursos Programacion\05 Entender Java y Orientacion a Objetos\03 Controlando el flujo de la aplicacion\creando primera aplicacion\out\production\primerprograma" Desafio Introduzca un número entre 0 e 100: 50 El número que escribiste es mayor al número generado. Introduzca un número entre 0 e 100: 20 El número que escribiste es menor al número generado. Introduzca un número entre 0 e 100: 40 El número que escribiste es menor al número generado. Introduzca un número entre 0 e 100: 45 El número que escribiste es menor al número generado. Introduzca un número entre 0 e 100: 49 Felicidades, adivinaste el número en 5 intentos! Lo siento, no conseguiste adivinar el número en 5 intentos. El número era 49
Process finished with exit code 0
Saludos
Federico