使用两位数以上的格式化Java中的字符串

时间:2013-09-18 04:28:23

标签: java

我一直在考虑如何做到这一点,但我似乎无法得到它。 我怎样才能实现这个输出

1         2
5         3
10        7
15        18
20        22

我有这个:

1         2
5         3
10         7
15         18
20         22

我正在使用for循环

2 个答案:

答案 0 :(得分:1)

您可以使用带宽度和左对齐标记的格式说明符来每行打印两个项目:

System.out.printf("%1$-10d%2$d%n", val1, val2);

或者您可以单独执行每个值:

System.out.printf("%1$-10d", val1);
System.out.println(val2); // or System.out.printf("%1$d%n", val2);

有关详细信息,请参阅Java教程Formatting Numeric Print Output

答案 1 :(得分:1)

请参阅The Java Tutorials主题Formatting Numeric Print Output

  

java.io包中包含PrintStream类,其中包含两种格式化方法,可用于替换printprintln。这些方法formatprintf彼此相同。您一直使用的熟悉System.out恰好是PrintStream对象,因此您可以在PrintStream上调用System.out方法。因此,您可以在以前使用formatprintf的代码中的任何位置使用printprintln

有几种方法可以做到这一点:

public PrintStream format(String format, Object... args)
public PrintStream printf(String format, Object... args)
public static String format(String format, Object... args)