Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 列表的打印迭代_Java - Fatal编程技术网

Java 列表的打印迭代

Java 列表的打印迭代,java,Java,我是Java新手,我正在尝试打印列表中的值,但生成的结果是false。我不知道为什么会发生这种情况 代码: List coins=new ArrayList(); 增加(4); 增加(14); 增加(2); 增加(33); 增加(2); 增加(7); 增加(56); 增加(5); 增加(8); 用于(整数j:硬币){ System.out.println(coins.get(j)); } 问题在forEach循环中。应该是: for (Integer j : coins) {

我是Java新手,我正在尝试打印列表中的值,但生成的结果是
false
。我不知道为什么会发生这种情况

代码:

List coins=new ArrayList();
增加(4);
增加(14);
增加(2);
增加(33);
增加(2);
增加(7);
增加(56);
增加(5);
增加(8);
用于(整数j:硬币){
System.out.println(coins.get(j));
}

问题在forEach循环中。应该是:

for (Integer j : coins) {
           // System.out.println(coins.get(j));
            System.out.println(j);
        }

j
的值将是
coins
的每个元素的值,而不是javascript中的索引值

使用:

或者在许多方面更糟:

for (int i = 0; i < coins.size(); i++) {
    System.out.println(coins.get(i));
}
for(int i=0;i
当您执行以下操作时:

for (Integer j : coins)
这就像做:

for (Iterator<Integer> itr = coins.iterator(); itr.hasNext();) {
   Integer j = itr.next();
}
for(迭代器itr=coins.Iterator();itr.hasNext();){
整数j=itr.next();
}
如您所见,
j
已经具有您想要的值


有关更多详细信息,请参阅。

我尝试了此方法,但仍能产生效果false@Liondancer:如果是,那么您没有执行正确的类,或者您正在执行它的旧的不同版本。@jbnize您能解释一下旧的不同版本是什么意思吗?可能您的主方法之前包含了
System.out.println(“false”)
,现在您更改了代码,但忘了重新编译类。@JBNizet-no我从来没有
false
。我刚刚删除了包和类,并再次编写了代码,输出仍然相同。你说的“它产生错误”是什么意思?你能澄清是什么产生了错误吗?此处不应返回false。它在我的控制台中显示false。当您注释foreach循环时,它仍然显示false?@Jeroenvanevel是的,我尝试了
System.out.println(coins.get(1))
以获取索引1处的值
for (int i = 0; i < coins.size(); i++) {
    System.out.println(coins.get(i));
}
for (Integer j : coins)
for (Iterator<Integer> itr = coins.iterator(); itr.hasNext();) {
   Integer j = itr.next();
}