这是我的代码:
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到999,999之间的值,并且中间有空格。但是,我的输出是:
208
850209
850210
850211... all the way to 999999
为什么我的for循环跳过成千上万个值?我尝试用long
和double
替换int。两者都在运行时跳过值。有什么帮助吗?我只是试图创建一个ArrayList
值,范围是0到999,999。
答案 0 :(得分:5)
您的程序运行正常。但是,标准控制台将仅显示很多行。因此,您的大多数输出都将被切断,从而使其似乎跳过了数千个数字
根据您使用的IDE,应该可以更改此设置。转到控制台并更改控制台缓冲区大小。
我使用的是Eclipse,因此在Eclipse中进行更改的方法是先转到window
,然后转到preferences
,然后在run/debug
下应该有一个console
部分,其中包含缓冲区大小
答案 1 :(得分:0)
它有效,我想它只是没有打印到控制台上。如果在加完所有数字之后再打印之前设置一个断点,则应该看到数组的大小为100000。
答案 2 :(得分:0)
输出控制台对打印值有限制。
您的列表已正确填写,如果您尝试打印其大小,将会发现它很好用。
但是,您可以增加控制台输出限制
要这样做,请检查此答案https://stackoverflow.com/a/33800176/5335885