我正在尝试使用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
最初是如何显示的,而不是其他计数器......
答案 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
格式放置空格或换行符,以便在视觉上分隔您的数字。