java - 努力正确格式化字符串

标签 java string api format

for(Item i : itemArray){
System.out.format("%1s%50s%50s", "name = " + i.getName(), "color = " + i.getColor(), "quantity = " + i.getQuantity());
System.out.println();

我正在尝试遍历项目数组,打印出格式化表格中的每个项目。 每件商品都有名称、颜色、数量和价格。

这是目前的结果:

Name: bike       Color: black       Quantity: 1      Price: 6.00
Name: ladder       Color: blue       Quantity: 150      Price: 9.00
Name: dolphin       Color: orange       Quantity: 15      Price: 100000.00
Name: key       Color: red       Quantity: 12      Price: 510.00

这是我需要的样子:

Name: bike       Color: black      Quantity: 1       Price: 6.00
Name: ladder     Color: blue       Quantity: 150     Price: 9.00
Name: dolphin    Color: orange     Quantity: 15      Price: 100000.00
Name: key        Color: red        Quantity: 12      Price: 510.00

格式api我都看了,还是搞不懂!!!请帮忙。

最佳答案

您的格式字符串应为名称指定多个字符宽度 (%1s): 参数:

System.out.format("%15s%50s%50s", "name = " + i.getName(), "color = " + i.getColor(), "quantity = " + i.getQuantity());

更具可读性的是只将变量注入(inject)格式字符串:

System.out.format("Name: %-10s  Color: %-10s Quantity: %-10s Price: %s", ...)

关于java - 努力正确格式化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13850795/

相关文章:

java - FetchType.LAZY 没有从数据库中获取对象

java - 远程 Java 编译器

api - 如何在Golang中从服务器发送Websocket

java - 热敏收据打印机自动剪切问题

mongodb - 如何在 REST API 中管理数据库版本

php - 永久获取 "INTERNAL_SERVICE_ERROR"调用 "/v1/payments/payment"时

java - Java语言如何在SSL中使用自设计引擎?

java - 在 JPA 查询中使用 CURRENT_DATE 的示例

python - Python 中的子字符串。内存中的副本?

javascript - Google Apps 脚本错误值