Java运算符,用于检查两个条件是否为false,但不是两个条件都是false

时间:2010-01-11 15:55:50

标签: java logic

如果任何一个条件都为false,那么Java中的运算符是否会给出结果为false,但如果两者都为true或两者都为false,则结果为true?

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

1 个答案:

答案 0 :(得分:22)

你想要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