Java String格式化具有不同变量类型的行

时间:2014-11-09 02:50:02

标签: java formatting printf

我需要在第一个变量

之后放置5个空格
2 spaces_go_here 300 batch ordered (due on day 7)

这是该行的格式,它由Integer + Integer + String

组成

我尝试过以下但没有成功。

System.out.printf("%-5d%d%s",i + " " + testProduct.getQuantity() + " batch");

虽然printf("%-5s%s",..可用,如果我试图在两个字符串之间放置空格

1 个答案:

答案 0 :(得分:3)

Variadic function PrintStream.printf(String, Object...)的参数以逗号分隔,此

System.out.printf("%-5d%d%s",i + " " + testProduct.getQuantity() + " batch");

应该是

System.out.printf("%-5d%d%s",i, testProduct.getQuantity()," batch");

System.out.printf("%-5d%d batch",i, testProduct.getQuantity());