将输出与printf对齐

时间:2018-11-21 01:41:57

标签: java printf alignment

基本上,我需要让这些日子与价值观并排。 像这样:

Monday  273.44

Tuesday 568.4

代替

Monday
Tuesday
Wednesday     
273.44
568.4
563.6

for (int p=0; p < days.length; p++)
{
    System.out.printf(days[p]);
}

for (int s=0; s < sales.length; s++)
{
    System.out.print( sales[s]);
}

2 个答案:

答案 0 :(得分:0)

%-10s将使几天恰好占据10个空格,即使它们较短。

for (int p = 0; p < days.length; p++) {
    System.out.printf("%-10s%s%n", days[p], sales[p]);
}

输出

Monday    273.44
Tuesday   568.4

答案 1 :(得分:0)

由于您希望输出内容左对齐,因此您应该尝试此操作

    for(int index = 0; index < days.length; index++)
    {
        System.out.printf("%-9s" + " " + "%.2f%n",days[index], sales[index]);
    }

对于左对齐输出,您需要一个减号,后跟一个表示宽度的数字。在这种情况下,我们将使用9,因为星期三是一周中潜在的7天中字符数最多的日期。%s是字符串的说明符,%。2f是带小数点后两位的浮点说明符,%n是用于打印新行的说明符。有很多在线资源向您展示如何使用printf方法在Java中打印格式化的输出,我建议您这样做。