Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
10 Июл 2023
1 мин
78

Проверка на истинность минимум двух из трех булевых переменных в Java

Одним из распространенных вопросов при работе с булевыми переменными в Java является задача проверки, что минимум две из трех булевых переменных истинны.

Одним из распространенных вопросов при работе с булевыми переменными в Java является задача проверки, что минимум две из трех булевых переменных истинны. Допустим, у нас есть три булевых переменных: a, b и c. Нам необходимо вернуть истину, если хотя бы две из этих переменных истинны.

В одном из подходов к решению этой задачи можно было бы использовать логическое И (&&) и логическое ИЛИ (||). Код мог бы выглядеть примерно так:

boolean atLeastTwo(boolean a, boolean b, boolean c) {
    if ((a && b) || (b && c) || (a && c)) {
        return true;
    }
    else {
        return false;
    }
}

Но есть и другой, более оптимальный способ решения этой задачи. Он заключается в использовании операции суммы булевых переменных. В Java булевое значение true эквивалентно числу 1, а false — числу 0. Таким образом, можно просто сложить значения переменных и проверить, больше ли их сумма или равна двум.

boolean atLeastTwo(boolean a, boolean b, boolean c) {
    return a & b | b & c | a & c;
}

Этот подход позволяет упростить код и сделать его более читаемым. Кроме того, он повышает производительность, так как количество операций уменьшается.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий