Java 如何在中断前检查数组中的每个元素

Java 如何在中断前检查数组中的每个元素,java,Java,编辑:输入是一个字符串。例如“1”或“1 2 12”,它被拆分为每个数字的单独字符串。尝试使用流api中的函数。代码如下: 进一步阅读 import java.util.List; 导入java.util.ArrayList; 公共课{ 公共静态void main(字符串[]args){ 列表索引字符串=新的ArrayList(){{ 添加(“1”); 添加(“9”); 添加(“4”); }}; 如果(indexesString.stream().allMatch->000&&Integer.p

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

尝试使用流api中的函数。代码如下:

进一步阅读

import java.util.List;
导入java.util.ArrayList;
公共课{
公共静态void main(字符串[]args){
列表索引字符串=新的ArrayList(){{
添加(“1”);
添加(“9”);
添加(“4”);
}};

如果(indexesString.stream().allMatch->0 进一步阅读

import java.util.List;
导入java.util.ArrayList;
公共课{
公共静态void main(字符串[]args){
列表索引字符串=新的ArrayList(){{
添加(“1”);
添加(“9”);
添加(“4”);
}};

if(indexesString.stream().allMatch(s)->0IndexesString
中的所有元素是否在一定范围内,我们必须迭代
IndexesString
。因此,请将
If
语句放入另一个
for
循环中

"1 13" should not break
"1 12" should break
boolean allWithinRenge=true;
对于(字符串s:IndexeString){//遍历IndexeString

if(!(Integer.parseInt)>0&&Integer.parseInt如果Mark的答案看起来太复杂,请尝试此操作。为了检查
IndexesString
中的所有元素是否在某个范围内,我们必须迭代
IndexesString
。因此,将
if
语句放入另一个
for
循环中

"1 13" should not break
"1 12" should break
boolean allWithinRenge=true;
对于(字符串s:IndexeString){//遍历IndexeString

如果(!(Integer.parseInt>0&&Integer.parseInt)如果我理解正确,您可以做的是将布尔值设置为true,然后循环所有元素并进行检查。如果其中一个元素不在1和12之间,则将布尔值设置为false。循环后,如果布尔值为true,则中断。@MWB是的,就是这样,谢谢!您还知道如何检查它是否不是除星号以外的任何特殊字符吗?旁注:如果数组是从开始排序的,那么您可以只检查第一个和最后一个元素,这样您就可以避免代价高昂的O(n)复杂性。如果我理解正确,您可以做的是将布尔值设置为true,然后循环所有元素并进行检查。如果其中一个元素不在1和12之间,则将布尔值设置为false。循环后,如果布尔值为true,则中断。@MWB是的,就是这样,谢谢!您还知道如何检查它是否不是除a以外的任何特殊字符吗n星号?旁注:如果数组是从开始排序的,那么只能检查第一个和最后一个元素,这样可以避免代价高昂的O(n)复杂性。是的,我这样做是因为MWB对我的问题的评论。我将你的答案标记为答案,因为它对我有效。是的,我这样做是因为MWB对我的问题的评论。我将你的答案标记为答案,因为它对我有效。
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;
}