沒有什麼不對您的代碼。
public static void main(String[] args) {
String a = "X";
if(!a.equalsIgnoreCase("X") || !a.equalsIgnoreCase("Z")){
System.out.println("invalid");
}
}
說明:
a.equalsIgnoreCase("X")
是真實的,!a.equalsIgnoreCase("X")
是假的。
- 由於第一個條件是錯誤的,它會評估第二個條件。
a.equalsIgnoreCase("Z")
爲假,!a.equalsIgnoreCase("Z")
爲真。
- 第二個條件成立,因此打印出「無效」。
注:也許你應該讓我們知道你正在努力實現與字符串比較的東西,使我們可以給你更好的反饋。讓我們知道什麼是理想的邏輯,即什麼是有效的,什麼不是。
基於註釋「任何字母,是不是等於‘X’或‘Z’應該是無效的」,
答:
if(!(a.equalsIgnoreCase("X") || a.equalsIgnoreCase("Z"))) {
System.out.println("Invalid");
}
或其等價物(如建議快速蝸牛):
if(!a.equalsIgnoreCase("X") && !a.equalsIgnoreCase("Z")) {
System.out.println("Invalid");
}
'!a.equalsIgnoreCase(「Z」)'總是如此。 – chengpohi
什麼字母應該滿足您的測試?什麼是有效的,什麼是無效的? –