if((Integer.parseInt(indexesString[i]) > 0 && Integer.parseInt(indexesString[i]) <= 12)) {
    break outerloop;
}


在中断之前,如何检查IndexesString中的所有元素是否都在1到12之间?现在,它仅检查第一个元素是否在1到12之间,然后中断,而不检查其余元素是否有效。

"1 13" should not break
"1 12" should break


编辑:输入是一个字符串。例如,“ 1”或“ 1 2 12”,对于每个数字,将其分为单独的字符串。

最佳答案

如果Mark的答案看起来太复杂,您可以尝试此方法。为了检查IndexesString中的所有元素是否都在一定范围内,我们必须遍历IndexesString。因此,将您的if语句放入另一个for循环中。

boolean allWithinRenge = true;

for (String s : indexesString) { //iterate through indexesString
    if (!(Integer.parseInt(s) > 0 && Integer.parseInt(s) <= 12)) { //check the range of each element
        allWithinRenge = false;
        break; //break this loop, because an element is not within the range
    }
}

if (allWithinRenge) {
    // all numbers are within 1 and 12
} else {
    break yourLoop;
}

07-25 22:26