【问题标题】:Java+Eclipse: Strange output when printing long arraysJava+Eclipse:打印长数组时输出奇怪
【发布时间】:2014-12-09 09:02:00
【问题描述】:

我正在使用 Eclipse 对 Java 进行编程,并且在打印长数组时发现了 System.out.print 的一种奇怪行为。使用以下代码会在实际输出之前打印一长串空白:

double[] values = new double[1000];
for (int i=0; i<1000; i++)
    values[i] = Math.random();
for (int i=0; i<1000; i++)
    System.out.print(values[i] + " ");

但是当我将数组长度更改为 100 时,它会按预期工作:

有人能解释一下吗?是跟Java有关还是跟Eclipse有关?

【问题讨论】:

  • 这更像是 Eclipse 中的一个问题,它是“控制台”实现。从另一个 IDE 或“真实”控制台运行该程序,看看这个问题是否仍然存在。
  • 确认这是一个 Eclipse 问题。这些不是空白,它们实际上是值。如果您复制这些值并粘贴到文本编辑器中,您可以看到实际值。我使用在线Java编译器时没有问题(codingground.tutorialspoint.com

标签: java arrays eclipse system.out


【解决方案1】:

确认这是一个 Eclipse 问题。这些不是空白,它们实际上是值。如果您复制这些值并粘贴到文本编辑器中,您可以看到实际值。我使用在线Java编译器时没有问题(codingground.tutorialspoint.com

您可以查看此链接以获取更多信息Eclipse console doesn't show the whole output

【讨论】:

    【解决方案2】:

    这与eclipse中控制台的输出限制有关。你可以从 首选项 > 运行/调试 > 控制台 > 控制台缓冲区大小。

    当我从命令提示符尝试时没有问题

    【讨论】:

      【解决方案3】:

      尝试更改 Eclipse 控制台设置:

      • 启用“固定宽度控制台”
      • 禁用“限制控制台输出”

      【讨论】:

      • 这帮助我解决了我在尝试打印大尺寸数组并且元素在控制台中相互重叠时遇到的问题。
      【解决方案4】:

      Eclipse 仅支持每行 1000 个字符。如果您打开 Preferences -> Run/Debug-> Console 并启用 Fixed with console,它将不允许您输入超过 1000 个。似乎这就是问题所在,因此当您取消选中它时,您只会看到最后 1000 个字符。如果输入 1000,您将能够看到所有字符。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-30
        • 2012-11-11
        • 1970-01-01
        相关资源
        最近更新 更多