我正在比较main方法中的字符串值,但是,它继续说它是无效的。
以下是代码:
public static void main(String[] args) {
String a = "X";
if(!a.equalsIgnoreCase("X") || !a.equalsIgnoreCase("Z")){
System.out.println("invalid");
}
}
答案 0 :(得分:3)
您的代码没有任何问题。
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")
为false,!a.equalsIgnoreCase("Z")
为真。注意:也许您应该通过字符串比较告诉我们您要实现的目标,以便我们为您提供更好的反馈。让我们知道什么是理想的逻辑,即什么是有效的,什么不是。
基于评论“任何不等于”X“或”Z“的字母应无效”,
的答案:强>
if( !(a.equalsIgnoreCase("X") || a.equalsIgnoreCase("Z")) ) {
System.out.println("Invalid");
}
或其等价物(由Fast Snail提议):
if( !a.equalsIgnoreCase("X") && !a.equalsIgnoreCase("Z") ) {
System.out.println("Invalid");
}