编辑:代码已解决。此解决方案仅经过测试适用于 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) {
[...]
}
此代码当前的作用是打印“生成代码...”,然后两秒后它将在两个新行上打印“生成代码已成功...”。
但是,我希望生成代码的字符串成功覆盖字符串生成代码,而不是打印两行新行...仅在两秒过去后。
最佳答案
您正在做的是将其打印到控制台。 你的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 中可能不起作用!
关于java - 等待时间后替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30721752/