我已经编码了一段时间了,据我所知,一旦你在 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/