Оператор Java, чтобы проверить, являются ли или условия ложью, но не обоими или ни одним

Существует ли оператор в Java, который даст результат лжи, если или условия будут ложью, но если оба будут верны или обе лжи, то результат будет верен?

У меня есть некоторый код, который полагается на пользователя, вводящего некоторые значения для процесса для выполнения. Поскольку пользователь должен только смочь ввести x или y, но не обоих или ни один, что я хотел бы показать сообщению об ошибке в этом случае.

6
задан Gangnus 21 May 2012 в 10:45
поделиться

1 ответ

Вы хотите 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
22
ответ дан 8 December 2019 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: