如果任何一个条件都为false,那么Java中的运算符是否会给出结果为false,但如果两者都为true或两者都为false,则结果为true?
我有一些代码依赖于用户输入一些值来运行进程。由于用户应该只能输入x或y而不能同时输入两者或者没有,我想在这种情况下显示错误消息。
答案 0 :(得分:22)
你想要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