Hola Gerardo, espero que estés bien
¡Espero que estés bien! He revisado tu código y parece que estás en el camino correcto para implementar un sistema de validación de contraseñas. Sin embargo, hay algunos detalles que podrías ajustar para que funcione tal como esperas.
Inicialización de la variable intento
: En el ciclo while
, estás comparando intento
con this.password
antes de que intento
tenga un valor asignado. Esto puede causar un comportamiento inesperado. Asegúrate de inicializar intento
antes de la comparación, o dentro del ciclo antes de la primera comparación.
Lógica de intentos: Estás disminuyendo el número de intentos después de cada intento fallido, lo cual es correcto. Sin embargo, asegúrate de que el mensaje de "Access blocked. Contact IT." se muestre solo cuando los intentos se hayan agotado.
Mensajes de salida: Los mensajes de salida deben coincidir con los esperados en el ejercicio. Asegúrate de que los mensajes como "Access allowed" y "Access blocked" estén en el idioma y formato correctos según las instrucciones del ejercicio.
Aquí tienes una versión ajustada del método enterPassword()
:
public void enterPassword() {
while (intentos >= 0) {
System.out.println("Ingrese la contraseña:");
intento = scanner.next();
if (this.password.equals(intento)) {
System.out.println("¡Acceso permitido!");
break;
} else {
intentos--;
if (intentos < 0) {
System.out.println("¡Acceso bloqueado! Contacta a TI.");
} else {
System.out.println("¡Acceso denegado! Intenta de nuevo.");
}
}
}
}
Con estos ajustes, tu programa debería funcionar de acuerdo con las expectativas del ejercicio. Espero que esto te ayude a avanzar en tu proyecto.
¡Espero haber ayudado y buenos estudios!