java - 使用 System.out.println 输出后可以更改一行吗?

标签 java arrays sorting debugging

我已经编码了一段时间了,据我所知,一旦你在 Java 中向 System.out.println 输出了一行;您无法更改它。

我问这个问题的原因是因为我的程序出现了一些非常奇怪的结果。该程序记录了冒泡排序和合并排序算法对不同类型的 int 数组进行排序的时间,并打印不同大小的 n 下这些时间的平均值,其中 n 是数组的大小。

到目前为止,我在这个程序中遇到了一连串的问题,但我不明白以下如何可能:

...
At 200000, randomly-sorted takes: 
NaN                  //Expected output, since I did not activate the random arrays.
...

但是,在同一行,程序偶尔会以不可预测的方式执行此操作:

...
At 200000, randomly-sorted takes: 
75683.45
...

一段时间后再次交换回来!

所以程序以某种方式设法替换输出的行,这是我以前从未经历过的。

非常感谢任何帮助或澄清!如果您需要代码,我非常乐意分享。

编辑:澄清一下,这是在运行 Java SE 6 的 Macbook Air 上。至于代码,请参阅我的 Github 帐户以及整个项目的链接 - https://github.com/danielsoutar/complexityPractical .

旁注:另一件事。对于冒泡排序,随机生成的数组显然比反向排序的数组需要更长的时间来排序,这显然是无稽之谈。不确定这对这个问题是否重要,但值得注意。

最佳答案

这个问题对我来说有点不清楚,但据我了解,您可以查看 RegEx 以过滤掉字符串或清除控制台并将输出放回。

清除控制台:

Runtime.getRuntime().exec("cls");

正则表达式示例:

yourString.replaceAll("[yourCharactersToReplace]","");

关于java - 使用 System.out.println 输出后可以更改一行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33612460/

相关文章:

java - java中两个矩阵相加

java - 线程模板

arrays - 使用文件输入运行并行命令的 Bash 脚本

PHP - 从函数中的循环值返回一个数组

java - 如何使用for循环获取集合中的输入?

java - 在同一个类中实现 Java Iterator 和 Iterable?

c# - 在 C# 中将 Aes.Key 转换为 SecureString

c# 对自定义列表进行排序

java - 在 for 循环中找不到符号

javascript - 为什么这种方式不起作用