编辑:代码已经解决。此解决方案仅经过测试才能用于cmd。也就是说,它可能不适用于Eclipse。
现在更正后的代码:
String code = "Generating code...\r";
String successful = code.replaceAll("Generating code...\r", "Generating the code has been successful.\r");
原始问题: 我希望能够显示一个字符串两秒钟,然后在等待两秒后,我希望该字符串被另一个字符串替换。
我尝试过一种基本结构,但似乎没有替换代码,而是出现在它下面。
代码:
String code = "Generating code...\n\n";
String successful = code.replaceAll("Generating code...\n\n", "Generating the code has been successful.\n\n");
[...]
try {
System.out.print(code);
Thread.sleep(2000);
System.out.print(successful);
}
catch(InterruptedException e) {
[...]
}
此代码目前的作用是打印生成代码......然后在两秒后它将打印生成代码已成功...在两个新行上。
然而,我没有打印两个新行,而是希望String生成代码成功覆盖String生成代码...仅在两秒钟过后。
答案 0 :(得分:2)
您正在做的是打印到控制台。 你的replace()没有做任何事情。 如果你必须打印旧输出,你可以使用\ r跳回当前行的开头。(确保使用print,而不是println!)
像这样:
String code = "Generating code...\r";
String successful = "Generating the code has been successful.\r"
[...]
try {
System.out.print(code);
Thread.sleep(2000);
System.out.print(successful);
}
catch(InterruptedException e) { [...] }
已知错误:这可能在Eclipse中无效!
答案 1 :(得分:1)
如果您想根据Gosu的评论清除控制台,请查看此帖子Java: Clear the console。
如果您使用某种图形用户界面,则需要更改图形小部件的文本。