2014-06-21 76 views
0

我有一个java程序模拟值并返回它们。但我想通过打印当前状态来看看模拟有多远。在循环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?

我只想看到当前的状态,所以不是一个计数器。 所以如果我++电流我删除,我会显示。

+0

你期待看到什么?你能举一个有效输入和预期输出的例子吗? –

+0

尝试'\ r',而不是'\ B' –

+0

我想0,那么0会消除和1将在0 ECT的地方.. – user2874583

回答

0

如果你在哪里期待编辑的价值有一个线是:

Number of simulations: 0 //and then editing just the number to have 

Number of simulations: 1 

它不是在命令行上可以将我的知识..每次调用是System.out.print时间你在写/将该值添加到“out”流中,因此每次添加的计数在print()行的末尾被调用。

您需要为每次打印时添加一个新行。

System.out.println("Number of Simulations: " + i); 

而这会给你一个新的线每次。

编辑:它不是你想要的,但多数民众赞成一个更清洁的方式对其进行可视化和程序如何正常登录的步骤。

+0

感谢您的解释! – user2874583

1

\b将回到1个字符。正如Pawel Veselov所说,使用\r来开始行。 另一个重要的事情是,根据您测试输出(IDE)的位置,它不会按预期工作。您应该在shell(Windows cmd或Linux终端)中测试以查看实际结果。