Java:For循环不显示计数器

2 java printf counter for-loop arraylist

我试图使用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));
}
Run Code Online (Sandbox Code Playgroud)

示例输出:

0 0.951 0.492 0.343 0.184 0.605 0.726 0.877 0.698 0.099 0.9310 0.22
Run Code Online (Sandbox Code Playgroud)

注意0最初如何显示但不是其他计数器......

Psh*_*emo 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
Run Code Online (Sandbox Code Playgroud)

使用

System.out.printf("%d %.2f ",i, al.get(i));
Run Code Online (Sandbox Code Playgroud)

您还可以在新行中打印每个计数器值对.所以代替空间使用行分隔符.如果您想要OS依赖分隔符使用%n.

System.out.printf("%d %.2f%n",i, al.get(i));
Run Code Online (Sandbox Code Playgroud)


rge*_*man 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
Run Code Online (Sandbox Code Playgroud)

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