📜  Java程序检查三个布尔变量中的两个是否为真

📅  最后修改于: 2022-05-13 01:54:46.804000             🧑  作者: Mango

Java程序检查三个布尔变量中的两个是否为真

布尔值为true/false 。在这个程序中,我们需要检查三个布尔值中是否有两个为真。

我们将讨论两种主要的方法来做到这一点:

  1. 使用if-else
  2. 使用三元运算符。

方法 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)