我的作业要求我创建一个密码检查程序。
密码必须至少为8个字符,包含大写和小写字母,数字和特殊字符。
我相信我已接近解决这个问题,但我的技能仍在发展中,而且我已经碰壁了。
{{1}}
答案 0 :(得分:3)
为了检查这样的事情:
public static boolean validPassword(String password){
boolean upCase = false;
boolean loCase = false;
boolean isDigit = false;
boolean spChar = false;
if (password.length()>7){
if (password.matches(".+[A-Z].+")){
upCase = true;
}
if (password.matches(".+[a-z].+")){
loCase = true;
}
if (password.matches(".+[1-9].+")){
isDigit = true;
}
if (SPECIAL_CHARACTERS.contains(password)){
spChar = true;
}
}
return (upCase && loCase && isDigit && spChar);
}
答案 1 :(得分:0)
通过更改
解决if(SPECIAL_CHARACTERS.contains(password)){ spChar = true;
到
if(SPECIAL_CHARACTERS.contains(password.substring(i,i + 1))){ spChar = true;
这将检查字符串中的字符串。
另外,我删除了" - 1"从我的声明,以便限制是纠正。还删除了SPECIAL_CHARACTERS常量中的逗号。
该程序现在运行没有问题,感谢大家的建议。