在Java中单行打印数组

时间:2016-12-08 02:22:51

标签: java arrays

我正在尝试在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(),虽然没有得到任何结果。

提前致谢!

2 个答案:

答案 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);