Java中是否有一个运算符,如果其中任何一个条件为假,则给出的结果为假,但是如果两个条件都为真或两个都为假,则结果为真?

我有一些代码依赖于用户输入一些值来运行进程。由于用户只能输入x或y,而不能同时输入x或y,因此我想在这种情况下显示错误消息。

最佳答案

您想要XNOR,基本上是:

if (!(a ^ b))

或(更简单地说)
if (a == b)

其中ab是条件。

样例代码:
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

10-04 18:16