给3个 boolean 变量,当其中有2个或者2个以上为true才返回true

标签 IT工具网 java

问题

给3个boolean变量,a,b,c,当其中有2个或2个以上为true时才返回true? * 最笨的方法:

boolean atLeastTwo(boolean a, boolean b, boolean c) 
{
    if ((a && b) || (b && c) || (a && c)) 
    {
        return true;
    }
    else
    {
        return false;
    }
}
  • 优雅解法1

    return a ? (b || c) : (b && c);
    
    • 优雅解法2 java return (a==b) ? a : c;
  • 优雅解法3

    return a ^ b ? c : a
    
    • 优雅解法4 java return a ? (b || c) : (b && c);

stackoverflow链接: http://stackoverflow.com/questions/3076078/check-if-at-least-two-out-of-three-booleans-are-true

相关文章:

java - 运行 Eclipse 进行 Android 开发时出错 - "Java was started but returned exit code 13"

基于 Java 的 Spring WebApp 未运行 Jetty9

在Android里面下载文件,并在ProgressDialog显示进度

JavaScript中的事件委托(delegate)

安装Android SDK的时候找不到JDK

java - 使用 Apache HttpClient 的 SOAP 请求

java - JVM:编译器需要在方法字节码的哪些位置指定堆栈映射帧?

java - java数组中文件的访问路径

LinkedList、ArrayList各自的使用场景,如何确认应该用哪一个呢?