Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中运行for each循环时出现ArrayOutOfBounds错误_Java_Arraylist - Fatal编程技术网

在java中运行for each循环时出现ArrayOutOfBounds错误

在java中运行for each循环时出现ArrayOutOfBounds错误,java,arraylist,Java,Arraylist,我正在编写一个代码,它查看一个名为values的给定数组列表,如果发现它可以用于for循环和while循环,则返回True,但不知道如何使for-each循环工作。这是我的东西,它会给我错误 编辑:错误为“java.lang.IndexOutOfBoundsException:索引:642327,大小30590(在java.util.ArrayList中) 公共字符串twoforEachFoundIt(ArrayList值,整数){ for(int i:值){ if(value.get(i)=数

我正在编写一个代码,它查看一个名为values的给定数组列表,如果发现它可以用于for循环和while循环,则返回True,但不知道如何使for-each循环工作。这是我的东西,它会给我错误

编辑:错误为“java.lang.IndexOutOfBoundsException:索引:642327,大小30590(在java.util.ArrayList中)

公共字符串twoforEachFoundIt(ArrayList值,整数){
for(int i:值){
if(value.get(i)=数字){
返回“真”;
}
}
返回null;
}

foreach提供数组
值的内容,而不是索引。您可以简单地比较:

if (i == number){
    return "True";
}

变量“i”具有元素的值,而不是索引。正确的方法是:

if ( i== number)
return "true"

由于
foreach
正在迭代
ArrayList值的元素,因此必须将
number
与实际元素进行比较:

for (int i : values) {
     if (i == number){
        return "True";
    }
}
如果要使用索引,请对
使用简单的

for(int i = 0; i < values.size(); i++) {
     if (values.get(i) == number){
        return "True";
    }
}
for(int i=0;i
当您在列表上迭代时,您将列表的内容放入
i
。然后您将该
i
用作索引

您可以直接比较
i

if (i == number)
    return "True";

请注意,您可能希望更改函数以返回一个
布尔值
,而不是一个
字符串

谢谢。我们并没有在课堂上对每一个函数进行真正的检查,我无法理解我在网上找到的任何解释。谢谢。我已经用for循环和while循环完成了。我正试图用所有的thr来完成它ee类型的循环。感谢你的否决票。这让我感到非常受欢迎。我对编程不熟悉,我也尝试过自己查找资料,但由于我是新手,我发现所有的资料对我来说都没有意义。但感谢帮助回答我问题的人。:)
if (i == number)
    return "True";