Java运算符检查其中一个条件是否为false,但不能同时为false或none
Java中是否存在一个运算符,如果其中一个条件为false,则该运算符将给出false的结果,但如果两个条件都为true或都为false,则结果将为trueJava运算符检查其中一个条件是否为false,但不能同时为false或none,java,logic,Java,Logic,Java中是否存在一个运算符,如果其中一个条件为false,则该运算符将给出false的结果,但如果两个条件都为true或都为false,则结果将为true 我有一些代码依赖于用户输入一些值来运行进程。由于用户只能输入x或y,但不能同时输入x或y或无,因此在这种情况下,我想显示一条错误消息。您想要输入x或y,基本上: if (!(a ^ b)) 或者(更简单地说) 其中a和b是条件 示例代码: public class Test { public static void main(St
我有一些代码依赖于用户输入一些值来运行进程。由于用户只能输入x或y,但不能同时输入x或y或无,因此在这种情况下,我想显示一条错误消息。您想要输入x或y,基本上:
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
Jon,在这种情况下,显示XOR运算符的完整逻辑表可能是有益的。我会在这里做,但是评论格式很糟糕。谢谢,这就是我要找的!我知道有一个操作符,只是记不起来了:)@James:我用一种更简单的方法编辑了它——相等操作符!还有,是的,
=代码>更简单。但是对于这种情况,XOR是正确的布尔运算符。所以我还是最喜欢你的答案。这个问题是在Java环境下提出的。在Java中,^
符号表示位操作XOR。
xnor(false, false) = true
xnor(false, true) = false
xnor(true, false) = false
xnor(true, true) = true