首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java -打印10亿至20亿

Java -打印10亿至20亿
EN

Stack Overflow用户
提问于 2018-10-06 02:44:31
回答 3查看 416关注 0票数 1

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

我的代码:

代码语言:javascript
复制
    public static void main(String[] args) {
    int number = 1000000000;
    do {
        System.out.println(number);
        number = number +1;
    } while (number < 2000000000);

}

你怎么解决这个问题?请帮帮我。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-06 03:10:46

我刚刚编写了这段代码,通过运行它,我得到了以下结果:

  • 最终文件: 10GB+
  • 启动时间:2018年10月6日星期六:19:19
  • 收尾时间:2018年10月6日星期六:03:25 尝试{ FileWriter writer =新FileWriter("count.txt");System.out.println(新日期());int数= 1000000000;do {writer.write(数字+ "\n");} while (number++ < 2000000000);System.out.println(新日期();writer.close();} catch (IOException e) { // TODO自动生成的catch块e.printStackTrace();}
票数 3
EN

Stack Overflow用户

发布于 2018-10-06 03:09:25

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

这种方法根本行不通,除非你在一个拥有大量RAM的高端PC上运行Eclipse。即使如此,我也有疑虑。例如,复制和粘贴100亿个字符可能无法工作。

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

票数 5
EN

Stack Overflow用户

发布于 2018-10-06 02:59:33

最好从命令行运行类文件并重定向输出。假设你是在“单一”环境下运行的。

java Counter > output.txt # This will take lot of time.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52675283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档