当我不写有效密码时,Helllo可以告诉我为什么它没有告诉我密码无效?
import java.util.Scanner;
public class Password {
private static Scanner in;
public static void main(String[] args) {
System.out.println("Please enter the password:");
in = new Scanner (System.in);
String pass;
pass = in.nextLine();
if(pass.length() < 4){
System.out.println("The password is too short");
} else if(pass.length() > 9){
System.out.println("The password is too long");
}
if(pass.equalsIgnoreCase("hudhud")){
System.out.println("Welcome BOSS");
while (!pass.equals("hudhud")){
System.out.println("The password is invalid");
}
}
}
}
答案 0 :(得分:0)
测试用例:
Input: foo
Output: The password is too short
Input: foobar
Output:
Input: foobarfoobar
Output: The password is too long
Input: hudhud
Output: Welcome BOSS
你的同时声明
while (!pass.equals("hudhud")){
System.out.println("The password is invalid");
}
是死代码 - 无法访问。您检查pass
是否等于hudhud
。在该检查中,如果密码不等于while
,则会有一个hudhud
循环而没有break语句测试。此时,除了hudhud
之外,它不能等于任何其他内容。
请注意,当密码介于4到9个字符且不等于hudhud
时,屏幕上不会打印任何内容。如果您尝试更改,请在else
支票上添加if(pass.equalsIgnoreCase("hudhud"))
。