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/