Java:For循环不显示计数器

时间:2014-05-29 00:16:42

标签: java for-loop arraylist printf counter

我正在尝试使用for循环来显示arraylist的元素以及它的计数器。输出当前只显示循环中的第一个计数器(即0)但是没有显示其余的。例如1 2 3 4 5 6 ...

for (int i = 0; i <= 10; i++) {
    System.out.printf("%d %.2f",i, al.get(i));
}

示例输出:

0 0.951 0.492 0.343 0.184 0.605 0.726 0.877 0.698 0.099 0.9310 0.22

请注意0最初是如何显示的,而不是其他计数器......

2 个答案:

答案 0 :(得分:8)

您需要在格式中添加空格,以便将前一个值与当前计数器分开 (您需要在标有|

的地方使用空格
0 0.95|1 0.49|2 0.34|3 0.18|4 0.60|5 0.72|6 0.87|7 0.69|8 0.09|9 0.93|10 0.22

使用

System.out.printf("%d %.2f ",i, al.get(i));

您还可以在新行中打印每个计数器值对。所以代替空间使用行分隔符。如果您希望操作系统相关分隔符使用%n

System.out.printf("%d %.2f%n",i, al.get(i));

答案 1 :(得分:6)

实际上,它正在显示计数器,但由于没有打印新行或任何分隔符,因此它看起来像是前一个值的一部分。如果值为{0.95,0.49,0.34,...},那么您将获得此输出。

     i: 0     1     2     3     4     5     6     7     8     9     10
 value:   0.95  0.49  0.34  0.18  0.60  0.72  0.87  0.69  0.09  0.93   0.22
Output: 0 0.951 0.492 0.343 0.184 0.605 0.726 0.877 0.698 0.099 0.9310 0.22

print格式放置空格或换行符,以便在视觉上分隔您的数字。