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:
Tambien podemos convertir un valor int a su equivalente en la tabla Ascii:
Un ejemplo:char valor_ascii=(char) int_a_convertir;
He aqui el método:
De aqui puedes hacer el copia y pega ;) :
public boolean esFuerte(){Si crees que puedes mejorarlo o encontrastes algun error, te espero en los comentarios.
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;
}
}