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

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

最佳答案

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

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

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

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

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

关于java - 在java中使用格式化程序进行左对齐和右对齐-无法弄清楚如何正确格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36581463/

相关文章:

java - Intellij 中的 Cucumber 未定义步骤引用

Node.js 中 Java 的 RSA/ECB/OAEPWithSHA-256AndMGF1Padding 等效项

java - 我必须如何安装/配置 Xuggle 才能不出现 UnsatisfiedLinkError?

java - m2e 插件 - Eclipse - 创建 Java 类和包。不被视为项目的一部分

java - 在 Eclipse 中将 JavaScript 项目与 Java 项目链接起来

java - DAO/存储库 : Good practice return value after insert/update

java - 无法使 split() 函数执行我想要的操作

Java 将基类转换为扩展类

java - 如何从字符串中删除多个换行符

java - 如何编写 jXLS 模板以及在何处编写