java - 使 While 语句为 True(从另一个类调用方法)

标签 java loops

public class Driver {
    public static void main(String args[]) {

        Encryption pass = new Encryption();

        while(CODE){
            System.out.println("Please enter a password");
            String name = KeyboardReader.readLine();

            System.out.println("Encrypted Password:  " + pass.encrypt(name));
            System.out.println("Decrypted Password:  " + pass.decrypt(name));
        }
    }

    boolean isValidLength (String password) {
        if (password.length() < minLength) {
            return true;
        } else {
            return false;
        }
    }
}

我该如何使上述陈述成立?我需要这样做,以便如果用户输入的密码不够长或不是有效的密码,他们可以一遍又一遍地重新输入。不确定我的 while 循环是否正确,但我必须从 isValidLength 方法调用才能使其正确。发现的任何错误也会有帮助。

最佳答案

我建议使用 do ... while 而不是 while 循环。在伪代码中:

boolean ok;
do {
    <get user input>
    ok = <check validity of user input>
} while (!ok);

如果您必须使用while循环,只需使用上述逻辑,但将ok初始化为false:

boolean ok = false;
while (!ok) {
    <get user input>
    ok = <check validity of user input>
}

此外,我认为您当前在 isValidLength 中的逻辑是向后的。如果要从 main 调用它,还必须将其声明为 static

关于java - 使 While 语句为 True(从另一个类调用方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10575109/

相关文章:

java - 将 if 语句转换为三元运算符 - 编译器提示它不是语句

java - 为什么选择排序比冒泡排序更快?

java - 通过分割字符串创建 JSON?

c++ - while (cin >> x) 和文件结束问题

java - 为什么我的休息时间不起作用

java - 从 java/groovy 中的文本文件读取导入

java - 如何通过Arraylist打印完整的输入列表?

java - 如何在 java 中打印此模式我不知道如何

java - 需要帮助在 for 循环中声明变量 (Java)

java - 需要一双新的眼睛来弄清楚比较 map 中的值背后的逻辑