关于java:For-loop不评估所有条目

For-loop not evaluating all entries

这是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.List;
import java.util.ArrayList;

public static void main(String[] args){

    List<Integer> possible = new ArrayList<Integer>();

    for(int i=0; i<1000000; i++){
        possible.add(i);
    }

    for(int i: possible){
        System.out.println(i);
    }
}

我期望输出打印0到999999之间有空格的值。但是,我的输出是:

1
2
3
4
208
850209
850210
850211... all the way to 999999

为什么我的for循环跳过数十万个值?我试着用longdouble代替int。运行时都跳过值。有什么帮助吗?我只是想创建一个从0到999999的ArrayList值。


你的程序运行良好。但是,标准控制台只显示这么多行。因此,您的大部分输出都被切断了,使它看起来跳过了数千个数字。

根据您使用的IDE,您应该能够更改它。转到控制台并更改控制台缓冲区大小。

我使用eclipse,所以在eclipse中更改它的方法是先转到window,然后转到preferences,然后在run/debug下,应该有一个缓冲区大小的console部分。


输出控制台对打印值有限制。

您的列表填写正确,如果您试图打印它的大小,您会发现它工作良好。

但是,您可以增加控制台输出限制

为此,请检查此答案https://stackoverflow.com/a/33800176/5335885


它工作了,我想它只是没有打印到控制台上。如果在添加所有数字之后和打印之前设置一个断点,则应该看到数组的大小为100000。