在完成其他部分条件之前,完全遍历Java数组

时间:2011-11-15 19:31:28

标签: java arrays if-statement

所以我遇到的问题是我想根据条件测试数组的每个部分,如果数组的所有部分都返回false我想做某事但是如果其中任何一个返回true我想要做点别的。例如

  String[] arr = new String[8];
  for(String s : arr) {
    if(s.equalsIgnoreCase("example") {
      // Do this
    } else {
      // do that
    }
  }

上面的问题是,它会对所有8个数组执行此操作或执行此操作。我想要的是它测试所有这些,如果它们都是假的,那么如果它们中的任何一个都是真的那么就这样做。

3 个答案:

答案 0 :(得分:5)

String[] arr = new String[8];
boolean isAllGood = true;
for(String s : arr) {
    if(!s.equalsIgnoreCase("example") {
        isAllGood = false;
        break;  
    } 
}

if(isAllGood) {
    //do this
} else {
    //do that
}

答案 1 :(得分:3)

之前的回答有条件倒退。它正在测试ANY是否为FALSE,“执行此操作”并且如果ALL为TRUE则“执行此操作”。试试这段代码:

String[] arr = new String[8];
boolean found = false;
for(String s : arr) {
    if(s.equalsIgnoreCase("example")) {
        found = true;
        break;
    }
}
if(found) {
    // Do this
} else {
    // Do that
}

答案 2 :(得分:0)

你应该把循环提取到另一个函数说isSomeCondition(String [] someArr)