我有一个模拟值并返回它们的java程序。但我希望通过打印当前状态来了解模拟的距离。
例如:
System.out.print("Number of simulations: ");
for(int i=0;i<NUMBER_OF_SIMULATIONS;i++){
/* Do my calcutions*/
System.out.print("\b" + i);
}
我认为这是可能的,但输出是: 模拟次数:0?1?2?3?4?5?6?7?8?9?10?11?12?
我只想看到当前状态,所以不是反击。 因此,如果i ++ current i删除,i + 1将会显示。
答案 0 :(得分:1)
\b
将返回1个字符。正如Pawel Veselov所说,使用\r
来到行的开头。
另一个重要的事情是,根据您测试输出(IDE)的位置,它将无法按预期工作。您应该在shell(Windows cmd或Linux终端)中进行测试,以便查看实际结果。
答案 1 :(得分:0)
如果您希望编辑值,则需要一行:
Number of simulations: 0 //and then editing just the number to have
Number of simulations: 1
根据我的知识,它在命令行上是不可能的......每次调用System.out.print时,你都要写入/将值添加到&#34; out&#34; stream,因此每次添加的计数都在print()的行尾调用。
每次打印时都需要添加一行。
System.out.println("Number of Simulations: " + i);
每次都会给你一条新线。
编辑:它不是你想要的,但这是一种更清晰的方式来可视化它以及程序通常如何记录步骤。