在java中使用格式化程序左右对齐无法弄清楚如何正确格式化

时间:2016-04-12 18:39:44

标签: java

我正在努力输出数组元素并左/右对齐它们,但是我很难让输出正确对齐。这是我现在的输出 -

Houston      TX   2009834
Detroit      MI    925051
Indianapolis   IN    783612
Washington   DC    570898
Burlington   VT    180000

如你所见,第三行是几个空格。有没有办法专门访问这一行输出并正确格式化?我打印的行是这个 -

for(int i = 0; i < pop.length; i++){
        System.out.printf("%-10s%5s%10d\n", city[i], state[i], pop[i]);
    }

1 个答案:

答案 0 :(得分:1)

尝试增加<{p>}中printf中指示的字符数

"%-10s%5s%10d\n"

这个城市名称为10个字符。将其更改为

"%-15s%5s%10d\n"

能够处理最多15个字符(或任何你想要的长度)的城市名称。