Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
布尔帮助:测试JAVA密码的参数 任务:_Java_Boolean - Fatal编程技术网

布尔帮助:测试JAVA密码的参数 任务:

布尔帮助:测试JAVA密码的参数 任务:,java,boolean,Java,Boolean,该程序应检查输入的密码是否至少有8个字符长、一个大小写字母、一个数字和一个特殊字符 代码: 我认为应该进行大写和小写检查,反之亦然: hasUppercase = !password.equals(password.toLowerCase()); hasLowercase = !password.equals(password.toUpperCase()); 因为只有在不包含大写字母时,密码的小写版本才等于密码 其他两项检查可按如下方式进行: hasDigit = password.match

该程序应检查输入的密码是否至少有8个字符长、一个大小写字母、一个数字和一个特殊字符

代码:
我认为应该进行大写和小写检查,反之亦然:

hasUppercase = !password.equals(password.toLowerCase());
hasLowercase = !password.equals(password.toUpperCase());
因为只有在不包含大写字母时,密码的小写版本才等于密码

其他两项检查可按如下方式进行:

hasDigit = password.matches(".*[0-9].*");
hasSpecial = !password.matches("[A-Za-z0-9]*");

!password.equals(password.toLowerCase())
没有测试“单个”小写字符,但是如果整个密码都是小写的,那么你的大写支票也是一样。我要说的话和我上面那个家伙说的一样!哦,哇,哇。检查小写字符的好方法是什么。在类似if循环的情况下,检查每个字母是大写还是小写?您可以使用
hasUppercase=password.matches(“(?s)。*[A-Z]*”
hasLowercase=password.matches(“(?s)。*[a-z]*”)
insteadOr
import static org.apache.commons.lang3.StringUtils.*/*…*/布尔ok=!isAllUpperCase(密码)&!isAllLowerCase(密码)
hasUppercase = !password.equals(password.toLowerCase());
hasLowercase = !password.equals(password.toUpperCase());
hasDigit = password.matches(".*[0-9].*");
hasSpecial = !password.matches("[A-Za-z0-9]*");