package capitulo07.bloque01;

import static capitulo04.utils.Utils.*;


public class Password {
    public static void main(String[] args) {
        boolean mayuscula;
        boolean minuscula;
        boolean digito;
        boolean caracter;
        do {
            mayuscula = false;
            minuscula = false;
            digito = false;
            caracter = false;
            String password = solicitarStringScannerInline("Introduzca una contraseña: ");

            for (Character c : password.toCharArray()) {
                if (Character.isUpperCase(c)) mayuscula = true;
                if (Character.isLowerCase(c)) minuscula = true;
                if (Character.isDigit(c)) digito = true;
                if (!Character.isLetterOrDigit(c)) caracter = true;
            }

            if (!mayuscula) System.out.println("La contraseña tiene que tener una mayúscula");
            if (!minuscula) System.out.println("La contraseña tiene que tener una minúscula");
            if (!digito) System.out.println("La contraseña tiene que tener un digito");
            if (!caracter) System.out.println("La contraseña tiene que tener un carácter no alfanumérico");

        } while (!(mayuscula && minuscula && digito && caracter));
        System.out.println("Contraseña guardada correctamente");
    }
}
