while(count <= maxNum){
System.out.println("O-------O");
System.out.printf("|" + "%8s", count + "|");
System.out.println("O-------O");
count++;
startTime = System.currentTimeMillis();
//an empty loop! does nothing except keeps checking the continuation condition
//continues as long as the time that has passed is less than millisToWait
while(System.currentTimeMillis() - startTime < millisToWait);
System.out.println("O-------O");
以上是代码的一部分,它可以实现我想要实现的实际输出。除了输出(下面是作为图像附加的输出)之外,代码大部分都按预期工作,并非100%正确。每个数字的右边都有一个额外的“O ------- O”。
如果我错了,请纠正我,但我认为它与第一个println声明有关,但我仍然不确定它是如何在顶部打印然后再打印到一边。任何帮助表示赞赏。
答案 0 :(得分:1)
Printf不会自动添加换行符,您必须通过在字符串中添加换行符来手动执行此操作。出于可移植性的原因,我们使用\ n的%n instaid。格式也可以简化。
将第三行更改为:
System.out.printf("|%8s%n|", count);