Java密码检查器布尔返回值工作不正常
当我在测试用例中运行这个类时,代码每次都返回false。我假设这是因为我的标记在助手方法中无法正常工作,因为我将它们都设置为false。然而,当我尝试取出它们,并用just return true或return false替换它们时,eclipse一直告诉我没有返回值。你们有谁知道出了什么问题吗?提前谢谢
public static boolean isLevel1(String pwd) {
int howMany = 0;
if(isLongEnough(pwd) && hasNoSpaces(pwd)) {
if(atLeastOneUpper(pwd)) howMany++;
if(atLeastOneLower(pwd)) howMany++;
if(atLeastOneDigit(pwd)) howMany++;
if(howMany >= 2)
return true;
}
return false;
}
public static boolean isLevel2(String pwd) {
if(isLongEnough(pwd) &&
hasNoSpaces(pwd) &&
atLeastOneUpper(pwd) &&
atLeastOneLower(pwd) &&
atLeastOneDigit(pwd))
return true;
return false;
}
private static boolean isLongEnough(String pwd) {
if(pwd.length() >=6)
return true;
return false;
}
private static boolean hasNoSpaces(String pwd) {
boolean flag = false;
for(int i = 0; i<pwd.length(); i++) {
if(!pwd.contains(" "))
flag = true;
}
return flag;
}
private static boolean atLeastOneUpper(String pwd) {
boolean flag = false;
for(int i = 0; i<pwd.length(); i++) {
if(Character.isUpperCase(i))
flag = true;
}
return flag;
}
private static boolean atLeastOneLower(String pwd) {
boolean flag = false;
for(int i = 0; i<pwd.length(); i++) {
if(Character.isLowerCase(i))
flag = true;
}
return flag;
}
private static boolean atLeastOneDigit(String pwd) {
boolean flag = false;
for(int i = 0; i<pwd.length(); i++) {
if(Character.isDigit(i))
flag = true;
}
return flag;
}
}
共 (0) 个答案