java中的C++打印的可能?还是类似的? 我有一个C++程序,它循环了大量的计算。对于每个循环,我使用printf打印出计算距离的百分比,如

java中的C++打印的可能?还是类似的? 我有一个C++程序,它循环了大量的计算。对于每个循环,我使用printf打印出计算距离的百分比,如,java,c++,Java,C++,计算完成64.7% 每次打印都会覆盖上一行,因此在控制台中只使用一行,而不是在另一行下打印几行 这在java中可能吗?java中的printf每次都打印出一行新行 或者你们有什么其他的想法,让我可以很容易地看到进展。是的,这是可能的。 User System.out.print您的文本\r。它打印行,不将光标移动到下一行。序列\r使光标移动到当前行的开头,因此下一行将从同一位置再次打印。是的,这是可能的。 User System.out.print您的文本\r。它打印行,不将光标移动到下一行。序

计算完成64.7%

每次打印都会覆盖上一行,因此在控制台中只使用一行,而不是在另一行下打印几行

这在java中可能吗?java中的printf每次都打印出一行新行

或者你们有什么其他的想法,让我可以很容易地看到进展。

是的,这是可能的。 User System.out.print您的文本\r。它打印行,不将光标移动到下一行。序列\r使光标移动到当前行的开头,因此下一行将从同一位置再次打印。

是的,这是可能的。 User System.out.print您的文本\r。它打印行,不将光标移动到下一行。序列\r使光标移动到当前行的开头,因此下一行将从同一位置再次打印。

据我所知

System.out.print('\r');
将返回到行的开头。这也适用于printf

据我所知

System.out.print('\r');

将返回到行的开头。这也适用于printf

你所能做的就是清除屏幕并再次打印它们。不,C/C++中的printf不符合你的要求。仅当您将退格/回车打印到终端时,它才会覆盖前面的输出。@Oasa,如何用java清除屏幕?您可以做的是清除屏幕并再次打印它们。不,C/C++中的printf不符合您的要求。仅当您将backspaces/Carries return打印到终端时,它才会覆盖前面的输出。@Oasa,如何用java清除屏幕?请尝试并确认它是否有效。只是不在Eclipse的控制台中。这取决于当前控制台如何解释“\r”字符,因此可能会有很大差异。@LokiAstari标准要求“\r”映射到回车符,回车符的行为应符合ASCII中的规定和AlexR的描述。当然,在实践中,你是对的——这完全取决于输出设备决定如何解释它:对于控制台窗口或打印机,我要说的是,不执行回车将是一个非常糟糕的实现——与在输出“a”时显示类似于b的图示符的级别相同。但是对于其他类型的设备,谁知道呢。@JamesKanze:控制字符与字形不同。即使在围绕这个问题的评论中,他们的解释也大相径庭——这并不是万能的。这就是为什么有一个完整的库专门用于控制光标在所有控制台上的移动。LokiAstari没有,但基本原理是一样的。代码点确定一个动作,该动作取决于接收设备。事实上,在某些方面,控制字符(至少其中一些)的定义比字形更严格——“a”的外观在不同的设备之间可能有很大的差异,而回车符的意思是:在从左到右的上下文中,将下一个写位置放在行的开头。任何不这样做的设备都已损坏。请尝试并确认其工作正常。只是不在Eclipse的控制台中。这取决于当前控制台如何解释“\r”字符,因此可能会有很大差异。@LokiAstari标准要求“\r”映射到回车符,回车符的行为应符合ASCII中的规定和AlexR的描述。当然,在实践中,你是对的——这完全取决于输出设备决定如何解释它:对于控制台窗口或打印机,我要说的是,不执行回车将是一个非常糟糕的实现——与在输出“a”时显示类似于b的图示符的级别相同。但是对于其他类型的设备,谁知道呢。@JamesKanze:控制字符与字形不同。即使在围绕这个问题的评论中,他们的解释也大相径庭——这并不是万能的。这就是为什么有一个完整的库专门用于控制光标在所有控制台上的移动。LokiAstari没有,但基本原理是一样的。代码点确定一个动作,该动作取决于接收设备。事实上,在某些方面,控制字符(至少其中一些)的定义比字形更严格——“a”的外观在不同的设备之间可能有很大的差异,而回车符的意思是:在从左到右的上下文中,将下一个写位置放在行的开头。任何不这样做的设备都会损坏。