You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java素数查找程序无法在Eclipse控制台打印大量素数的问题

问题原因

这是Eclipse控制台的默认输出限制导致的,和你的代码逻辑无关。Eclipse默认会对控制台的可显示内容设置缓冲区上限,当输出总字符数超过上限时,会自动删除最早输出的内容来容纳新输出,只会保留最新的一部分内容在展示视图中。但被移除展示区的旧内容实际还暂存在缓冲区中,所以你全选复制的时候可以拿到完整的输出结果。
你遇到的输出5572个素数时内容消失的情况,刚好是输出总长度触发了默认的缓冲区上限,素数列表作为中间输出的内容被判定为“旧内容”移出了展示区,所以视觉上看起来像消失了。

解决方法

  • 调整Eclipse控制台配置:
    1. 打开Eclipse顶部菜单栏的「窗口」→「首选项」
    2. 在左侧菜单找到「运行/调试」→「控制台」
    3. 可以直接取消勾选「限制控制台输出」彻底解除长度限制,也可以按需调大「控制台缓冲区大小」的数值,比如调整到10000000(约10MB)就足够容纳100万素数的输出内容
  • 如果需要长期生成大量素数结果,建议直接将结果写入本地文件,避免受控制台限制,修改非常简单,只要在run方法里替换输出逻辑即可,示例:
// 替换原有System.out.println(primes);的逻辑
try (FileWriter writer = new FileWriter("primes_result.txt")) {
    writer.write(primes.toString());
} catch (IOException e) {
    e.printStackTrace();
}

额外说明

你的代码逻辑本身没有问题,小数量输出正常、全选复制可拿到完整内容已经可以证明素数计算、输出的逻辑都是正确的,不需要修改业务代码。

内容的提问来源于stack exchange,提问作者RedLink29

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:30:03