Publicidad


Hoy vamos a hacer un método llamado esFuerte(): devuelve un booleano si la contaseña es fuerte o no, para que sea fuerte debe tener mas de 2 mayúsculas, mas de 1 minúscula y mas de 5 números, forma parte del ejercicio #2 sobre POO de la web www.discoduroderoer.es

Para éste pequeño método necesitaremos conocer la famosa tabla Ascii, resulta que cada letra y simbolo tiene asociado un número, eso significa que si creamos una variable char con una letra como "a" y luego la convertimos a entero nos devolvera su equivalente en la tabla Ascii, en este caso 97:

Esto es genial ya que asi podremos diferenciar entre caracteres: las mayusculas van desde el 65 al 90, las minusculas desde el 97 al 122 y los números desde el 48 al 57. Vease la tabla:





Tambien podemos convertir un valor int a su equivalente en la tabla Ascii:
char valor_ascii=(char) int_a_convertir;
Un ejemplo:


He aqui el método:



De aqui puedes hacer el copia y pega ;) :
    public boolean esFuerte(){
            int contadorMayusculas=0, contadorMinusculas=0, contadorNumeros=0;
        for(int i=0; i           
            //Guaradamos el caracter en que esté en la posición (i) dentro de la variable caracter:
            char caracter=contraseña.charAt(i);
            //El caracter es convertido a su equivalente en la tabla ascii y guardado en la variable
            int ascii=(int)caracter;   
           
            if(ascii>=65 && ascii<=90){            //Contador de mayusculas
                contadorMayusculas++;
            }else if(ascii>=97 && ascii<=122){    //Contador de minusculas
                contadorMinusculas++;
            }else if(ascii>=48 && ascii<=57){
                contadorNumeros++;
            }
        }
        //Return:
        if(contadorMayusculas>=2 && contadorMinusculas>=1 && contadorNumeros>=5){   
            //2 mayúsculas, mas de 1 minúscula y mas de 5 números
            return true;
        }else{
            return false;
        }
    }
 Si crees que puedes mejorarlo o encontrastes algun error, te espero en los comentarios.

0 comentarios:

Publicar un comentario