public class ValidacionInicioDeSesion {
public static void main(String[] args) {
Usuario sesion = new Usuario("alumno2025", "escuela@123");
sesion.validacion();
}
static class Usuario {
private String usuario;
private String contrasenia;
private int intentosRestantes = 3;
IntroducirDatos datos = new IntroducirDatos();
public Usuario(String usuario, String contrasenia) {
this.usuario = usuario;
this.contrasenia = contrasenia;
}
void validacion() {
try {
while (intentosRestantes > 0) {
datos.datosScanner();
if (usuario.equals(datos.nombre) && contrasenia.equals(datos.codigo)) {
System.out.println("¡Inicio de sesión exitoso!");
return;
} else if (!usuario.equals(datos.nombre)) {
intentosRestantes--;
System.out.printf("Usuario incorrecto. Te quedan %d intentos%n", intentosRestantes);
} else {
intentosRestantes--;
System.out.printf("Contraseña incorrecta. Te quedan %d intentos%n", intentosRestantes);
}
}
System.out.println("Cuenta bloqueada temporalmente");
} finally {
datos.cerrar();
}
}
}
static class IntroducirDatos {
private String nombre;
private String codigo;
private Scanner scan = new Scanner(System.in);
void datosScanner() {
System.out.println("Introduce tu usuario:");
nombre = scan.nextLine();
System.out.println("Introduce tu contraseña:");
codigo = scan.nextLine();
}
void cerrar() {
scan.close();
}
}
}