Hola Jems, espero que estés bien
Veo que estás trabajando en un proyecto para validar contraseñas en Java. Tu código ya tiene una buena estructura, pero hay algunos detalles que podrías ajustar para que funcione mejor según el ejercicio que estás realizando.
El ciclo while
que utilizas está bien planteado, pero el mensaje que indica que el sistema ha sido bloqueado nunca se muestra, ya que el break
sale del ciclo antes de que se llegue a esa condición. Puedes mover este mensaje fuera del ciclo while
para que se muestre si los tres intentos fallan:
while (contador < 3) {
contador++;
System.out.println("Ingrese su nombre ");
String nombre = usuario.nextLine();
System.out.println("Ingrese su datos de acceso");
int acceder = usuario.nextInt();
usuario.nextLine(); // Consumir el salto de línea
if (acceder == acceso) {
System.out.println("Acceso permitido");
System.out.println("Bienvenid@ " + nombre);
break;
} else {
System.out.println("Solo tienes 3 intentos, ingresa la clave correcta");
}
}
if (contador == 3) {
System.out.println("Has excedido tus intentos, el sistema ha sido bloqueado");
}
Este ajuste asegurará que el mensaje de bloqueo se muestre solo después de tres intentos fallidos. También he añadido usuario.nextLine();
después de usuario.nextInt();
para consumir el salto de línea que queda en el buffer después de leer el número, lo cual puede causar problemas al leer el siguiente nextLine()
.
Espero que estos cambios te ayuden a cumplir con los requisitos del ejercicio. ¡Bons estudos!