Java能否通过在同一行上覆盖时间来在命令行上执行定时器?

3

你好,我是一名新的Java程序员(非常新手)。

我想要做/测试的内容是(不确定是否推荐或可行?),我们知道

System.out.println("Message");

将会在命令提示符中输出"Message"。是否有可能显示当前时间,而不需要重复使用system.out.println()?

例如,通过名称来显示:

10:00:01
10:00:02
10:00:03

我希望能够像这样显示时间: 10:00:0X,其中X会持续计数。
1个回答

4
如果你使用\r(回车)而不是\n(换行符),大多数终端会将光标移到同一行的开头,这样下次就可以“覆盖”该行了。 println会自动添加\n,但是你可以使用System.out.print(没有ln部分;-)来避免这种情况(你可能还需要调用flush方法以确保你打印的所有内容实际上都被输出,而不是被保存在内存缓冲区中)。

像这样:system.out.print("message"); flush();?抱歉,我还是一个新手Java程序员。 - javaLearner.java
这周和问题有什么进展? :) https://dev59.com/F03Sa4cB1Zd3GeqPwpxG#2774660 - DVK
顺便提一下,为了完整起见,"\r" 被称为 "回车符" 字符(起源于打字机时代,当您需要将“行车”返回到行首时:)。 - DVK
@DVK:这意味着现在有越来越多的新程序员吗?大多数新程序员通过使用简单的“print”函数开始他们的编程生涯(这就是我学习第一种编程语言的方式)哈哈 - javaLearner.java
@javaLearner.java - 但回车符是一种比较专业的东西,我在 Stack Overflow 上大约一年时间里没有看到过一个关于它的问题;而这个星期我却看到了两个... 只是为了明确,我的评论是对巧合的惊讶,而不是对你的问题的反对 :) - DVK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接