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

Jam*_*win 6 java logic

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

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

Jon*_*eet 22

你想要XNOR,基本上:

if (!(a ^ b))
Run Code Online (Sandbox Code Playgroud)

或者(更简单地说)

if (a == b)
Run Code Online (Sandbox Code Playgroud)

在哪里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);
    }
}
Run Code Online (Sandbox Code Playgroud)

制作这个真值表;

xnor(false, false) = true
xnor(false, true) = false
xnor(true, false) = false
xnor(true, true) = true
Run Code Online (Sandbox Code Playgroud)

  • 这个问题是在Java的背景下给出的.在Java中,`^`符号表示位操作XOR. (2认同)