Существует ли оператор в Java, который даст результат лжи, если или условия будут ложью, но если оба будут верны или обе лжи, то результат будет верен?
У меня есть некоторый код, который полагается на пользователя, вводящего некоторые значения для процесса для выполнения. Поскольку пользователь должен только смочь ввести x или y, но не обоих или ни один, что я хотел бы показать сообщению об ошибке в этом случае.
Вы хотите 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