Проверка двух истинных из трёх булевых в Java — пример программы
В этой задаче у нас есть три булевых переменных, и нужно определить, истинны ли минимум две из них. Если первая переменная истинна — достаточно, чтобы вторая ИЛИ третья были истинны. Если первая ложна — обе оставшиеся должны быть истинны.
Чтобы понять этот пример, нужно знать:
Условный оператор
if...elseТернарный оператор
Пример: проверка двух истинных значений из трёх
// Java Program to check if 2 variables
// among the 3 variables are true
import java.util.Scanner;
class Main {
public static void main(String[] args) {
// create 3 boolean variables
boolean first;
boolean second;
boolean third;
boolean result;
// get boolean input from the user
Scanner input = new Scanner(System.in);
System.out.print("Enter first boolean value: ");
first = input.nextBoolean();
System.out.print("Enter second boolean value: ");
second = input.nextBoolean();
System.out.print("Enter third boolean value: ");
third = input.nextBoolean();
// check if two are true
if(first) {
// if first is true
// and one of the second and third is true
// result will be true
result = second || third;
}
else {
// if first is false
// both the second and third should be true
// so result will be true
result = second && third;
}
if(result) {
System.out.println("Two boolean variables are true.");
}
else {
System.out.println("Two boolean variables are not true.");
}
input.close();
}
}
Вывод 1:
Enter first boolean value: true
Enter second boolean value: false
Enter third boolean value: true
Two boolean variables are true.
Вывод 2:
Enter first boolean value: false
Enter second boolean value: true
Enter third boolean value: false
Two boolean variables are not true.
В этом примере у нас три булевых переменных first, second и third. Мы проверяем, истинны ли хотя бы две из них. Для этого используется конструкция if...else:
if(first) {
result = second || third;
}
else {
result = second && third;
}
Вместо if...else можно использовать тернарный оператор:
result = first ? second || third : second && third;
Совет
Тернарный оператор делает код короче, но в обучающих целях if...else нагляднее.