没有什么不对您的代码。
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
什么字母应该满足您的测试?什么是有效的,什么是无效的? –