Java字符串格式问题

时间:2017-02-19 23:00:52

标签: java string

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”。

Here's the output

如果我错了,请纠正我,但我认为它与第一个println声明有关,但我仍然不确定它是如何在顶部打印然后再打印到一边。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

Printf不会自动添加换行符,您必须通过在字符串中添加换行符来手动执行此操作。出于可移植性的原因,我们使用\ n的%n instaid。格式也可以简化。

将第三行更改为:

System.out.printf("|%8s%n|", count);