有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案