Comparto el codigo, me llevo un rato, pero lo tengo, me indican sugerencias de como mejorar mas
import java.util.Random;
import java.util.Scanner;
public class tarea2 {
public static void main(String[] args) {
System.out.println("Adivina el Numero");
String reglas = """
Debes adivinar un numero entre 0 y 100
solo tendrás 5 oportunidades para lograrlo.
Solo deben ser números Enteros y Positivos.
Asi que manos a la obra y Juguemos""";
System.out.println(reglas);
int numRandom = new Random().nextInt(101);
// System.out.println(numRandom);
int intentos = 0;
boolean logro = false;
Scanner teclado = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
int numValido =-1;
boolean entradaValida = false;
while (!entradaValida){
System.out.println("Ingresa un Numero entre 0 y 100");
if (teclado.hasNextInt()){
int num = teclado.nextInt();
if (num >=0 && num <=100){
numValido =num;
entradaValida = true;
}else {
System.out.println("El número debe estar entre 0 y 100");
}
}else {
System.out.println("Ingresa Solo numeros enteros!!!");
teclado.next();
}
}
if (numValido == numRandom) {
System.out.println("Has acertado al numero en " + (i + 1) + " intentos, Felicitaciones");
logro = true;
break;
} else if (numValido > numRandom) {
System.out.println("El numero es Menor");
} else {
System.out.println("El numero es Mayor");
}
}
teclado.close();
// Si llega aquí, es porque no adivinó en 5 intentos
if (!logro) {
System.out.println("Lo siento, no adivinaste. El número era: " + numRandom + "Para la Próxima");
}
}
}