Java - 打印10亿到20亿

Cor*_*oob 1 java memory

我想打印出1 000 000 000到1 999 999 999.我认为这将是一项简单的任务,但是eclipse告诉我一些关于内存错误的信息.我怎么能这样做?我想要一个文本数据,其中所有数字从1000000000到1999999999都在新行中写下来.我想在控制台中打印出来然后只需复制并粘贴到.txt数据就可以了,但遗憾的是没有.

我的代码:

    public static void main(String[] args) {
    int number = 1000000000;
    do {
        System.out.println(number);
        number = number +1;
    } while (number < 2000000000);

}
Run Code Online (Sandbox Code Playgroud)

你会如何解决这个问题?请帮我.

Ste*_*n C 5

您遇到的问题是因为您要求Eclipse在内存中缓冲1,000,000,000 x 11或12个字符.那是> 20 GB,对于Eclipse进程堆来说它显然太大了.

除非您在具有大量RAM的真正高端PC上运行Eclipse,否则这种方法根本行不通.即使在那时,我也有疑虑.例如,100亿个字符的复制和粘贴可能不起作用.

你需要采取另一种方法; 例如,让您的应用程序将数字直接写入输出文件.