Java程序检查三个布尔变量中的两个是否为真
布尔值为true/false 。在这个程序中,我们需要检查三个布尔值中是否有两个为真。
我们将讨论两种主要的方法来做到这一点:
- 使用if-else 。
- 使用三元运算符。
方法 1:使用if-else 条件
我们用布尔值 FALSE 或 TRUE 初始化三个布尔变量标志。
通过为每个 TRUE 值递增计数器值,计数器方法可用于检查这三个布尔变量中的两个是否为 TRUE。
Java
// Java program to check if
// two out of three boolean
// variables are true
import java.io.*;
class GFG {
public static void main(String[] args)
{
boolean flag1 = true;
boolean flag2 = true;
boolean flag3 = false;
// maintaining a counter
int cnt = 0;
// check if flag1 is true, increment counter
if (flag1)
cnt += 1;
// check if flag2 is true, increment counter
if (flag2)
cnt += 1;
// check if flag3 is true, increment counter
if (flag3)
cnt += 1;
// check counter value
if (cnt == 2)
System.out.println("Two flags are true!");
else
System.out.println("Two flags are not true!");
}
}
Java
// Java program to check
// if two out of three boolean
// variables are true
import java.io.*;
class GFG {
public static void main(String[] args)
{
boolean flag1 = true;
boolean flag2 = true;
boolean flag3 = false;
// to store the result
boolean ans = false;
if (flag1) {
ans = flag2 || flag3;
}
else {
ans = flag2 && flag3;
}
if (ans)
System.out.println("Two flags are true!");
else
System.out.println("Two flags are not true!");
}
}
Java
// Java program to check if
// two out of three boolean
// variables are true
import java.io.*;
class GFG {
public static void main(String[] args)
{
boolean flag1 = true;
boolean flag2 = true;
boolean flag3 = true;
// to store the result
boolean ans = false;
ans = flag1 ? flag2 || flag3 : flag2 && flag3;
if (ans)
System.out.println("Two flags are true!");
else
System.out.println("Two flags are not true!");
}
}
输出
Two flags are true!
- 时间复杂度: O(1)
- 空间复杂度: O(1)
另一种方法:在这里,我们将检查 flag1 是否为真,如果 flag2 或 flag3 为真,则 ans 应该为真。否则,如果 flag1 为假,那么当 flag2 和 flag3 都为真时 ans 将为真。
Java
// Java program to check
// if two out of three boolean
// variables are true
import java.io.*;
class GFG {
public static void main(String[] args)
{
boolean flag1 = true;
boolean flag2 = true;
boolean flag3 = false;
// to store the result
boolean ans = false;
if (flag1) {
ans = flag2 || flag3;
}
else {
ans = flag2 && flag3;
}
if (ans)
System.out.println("Two flags are true!");
else
System.out.println("Two flags are not true!");
}
}
输出
Two flags are true!
- 时间复杂度: O(1)
- 空间复杂度: O(1)
方法 3:使用三元运算符
Java
// Java program to check if
// two out of three boolean
// variables are true
import java.io.*;
class GFG {
public static void main(String[] args)
{
boolean flag1 = true;
boolean flag2 = true;
boolean flag3 = true;
// to store the result
boolean ans = false;
ans = flag1 ? flag2 || flag3 : flag2 && flag3;
if (ans)
System.out.println("Two flags are true!");
else
System.out.println("Two flags are not true!");
}
}
输出
Two flags are not true!
- 时间复杂度: O(1)
- 空间复杂度: O(1)