它不斷跳過我聲明的其他部分。如果沒有滿足所有其他限制,我只希望它打印出無效行。爲什麼它跳過我的if-else語句的其他部分?
import java.util.Scanner;
public class Program_3
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter a password: ");
String str = input.nextLine();
boolean lowerCase = false;
boolean upperCase = false;
boolean number = false;
char y;
for (int i = 0; i < str.length(); i++)
{
y = str.charAt(i);
if(Character.isUpperCase(y))
{
upperCase = true;
}
else if(Character.isDigit(y))
{
number = true;
}
else if(Character.isLowerCase(y))
{
lowerCase = true;
}
}
if (lowerCase == true)
{
if (upperCase == true)
{
if (number == true)
{
if (str.length() >= 8)
{
System.out.println("Verdict:\t Valid");
}
}
}
}
else
System.out.println("Verdict:\t Invalid");
}
}
爲什麼當所有的if不符合時,它會跳過並且不打印無效的行?
不需要== true它們已經是布爾值 – Ghokun
謝謝!這非常有幫助!我不知道爲什麼我沒有想到這一點! – Nick