所以我遇到的问题是我想根据条件测试数组的每个部分,如果数组的所有部分都返回false我想做某事但是如果其中任何一个返回true我想要做点别的。例如
String[] arr = new String[8];
for(String s : arr) {
if(s.equalsIgnoreCase("example") {
// Do this
} else {
// do that
}
}
上面的问题是,它会对所有8个数组执行此操作或执行此操作。我想要的是它测试所有这些,如果它们都是假的,那么如果它们中的任何一个都是真的那么就这样做。
答案 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)