如何将数组放在IF语句中

时间:2013-12-15 04:49:14

标签: java arrays if-statement boolean

我有一个布尔数组,我想知道如何在if语句中测试所有这些,而不占用太多空间,这是我到目前为止所做的。

    private boolean[] running = new boolean[10]

    if(running[] == true){
      goes through code here
    }

这就是我要做的事情,因为它不起作用我不想像这样写出来。

    private boolean[] running = new boolean[10]

    if(running[1] == true || running[2] == true || running[3] == true || etc.){
      goes through code here
    }

因此,如果有办法立即检查所有这些,那就太棒了。

3 个答案:

答案 0 :(得分:5)

public static boolean any (boolean[] array) {
    for (boolean item : array) {
        if (item) {
           return true;
        }
    }
    return false;
}

if (any(running)) {
    // your code
}

答案 1 :(得分:2)

for(boolean bool : running) {
    if(bool) {
        //your code
        break;
    }
}

答案 2 :(得分:1)

你需要写一个循环。

boolean success = true;
for( int i = 0; i < running.length; ++i ) {
    if( running[i] == false ) {
         success = false;
         break;
    }
}
if( success == true ) {
    // Do stuff
}

您不必担心占用太多代码。只是担心编写易于理解的代码。

编辑: 如果数组中的所有项都为true,则上面运行if语句。如果你真的想要执行代码,如果数组中的任何一项是真的,它看起来会更像这样:

boolean success = false;
for( int i = 0; i < running.length; ++i ) {
    if( running[i] == true ) {
         success = true;
         break;
    }
}
if( success == true ) {
    // Do stuff
}