我正在尝试在java中制作'直方图'并遇到一些格式化问题。我有以下循环用于打印频率分布表:
for (int i = 0; i < 10; i++) {
char asterisk[] = new char[frequency[i]];
Arrays.fill(asterisk, '*');
System.out.println(asterisk);
freqTable = bins[i] + "\t";
System.out.println(freqTable);
}
但这会产生如下输出:
************
1-10
**********
11-20
**********
21-30
我想让它打印出来:
1-10 ************
11-20 **********
21-30 **********
不知道如何做到这一点!尝试使用toString(),虽然没有得到任何结果。
提前致谢!
答案 0 :(得分:3)
您需要重新订购打印商品的对帐单。我建议在循环结束时使用单个println
:
for (int i = 0; i < 10; i++) {
char asterisk[] = new char[frequency[i]];
Arrays.fill(asterisk, '*');
System.out.println(bins[i] + "\t" + asterisk);
}
答案 1 :(得分:2)
只需更改订单并使用print
代替println
for (int i = 0; i < 10; i++) {
char asterisk[] = new char[frequency[i]];
Arrays.fill(asterisk, '*');
freqTable = bins[i] + "\t";
System.out.print(freqTable);
System.out.println(asterisk);
}
或替代使用System.out.printf
System.out.printf ("%s %s%n", freqTable, asterisk);
或单个System.out.println
System.out.println(freqTable + asterisk);