Java中是否有一个运算符,如果其中任何一个条件为假,则给出的结果为假,但是如果两个条件都为真或两个都为假,则结果为真?
我有一些代码依赖于用户输入一些值来运行进程。由于用户只能输入x或y,而不能同时输入x或y,因此我想在这种情况下显示错误消息。
最佳答案
您想要XNOR,基本上是:
if (!(a ^ b))
或(更简单地说)
if (a == b)
其中
a
和b
是条件。样例代码:
public class Test
{
public static void main(String[] args)
{
xnor(false, false);
xnor(false, true);
xnor(true, false);
xnor(true, true);
}
private static void xnor(boolean a, boolean b)
{
System.out.printf("xnor(%b, %b) = %b\n", a, b, a == b);
}
}
产生这个真值表;
xnor(false, false) = true
xnor(false, true) = false
xnor(true, false) = false
xnor(true, true) = true