我正在努力输出数组的元素,并适当地左右对齐它们,但是我很难使输出正确对齐。这是我截至目前的输出-

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]);
    }

最佳答案

尝试增加printf中指示的字符数

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


这会将城市名称填充为10个字符。更改为

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


为了能够处理最多15个字符(或所需长度)的城市名称。

10-08 18:57