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

在Java中格式化两位数以上的字符串,java,Java,我一直在想如何做到这一点,但我似乎不能得到它。 我如何实现这个输出 1 2 5 3 10 7 15 18 20 22 我有这个: 1 2 5 3 10 7 15 18 20 22 我使用的是for循环您可以使用带有宽度和左对齐标志的格式说明符,每行打印两个项目: System.out.printf("%1$-10d%2$d%n", val1

我一直在想如何做到这一点,但我似乎不能得到它。 我如何实现这个输出

1         2
5         3
10        7
15        18
20        22
我有这个:

1         2
5         3
10         7
15         18
20         22

我使用的是for循环

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

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教程。

请参阅主题中的

java.io
包包括一个
PrintStream
类,该类有两种格式化方法,可用于替换
print
println
。这些方法,
format
printf
彼此等效。您一直使用的熟悉的
System.out
恰好是
PrintStream
对象,因此您可以调用
System.out
上的
PrintStream
方法。因此,您可以在以前使用过
print
println
的代码中的任何位置使用
format
printf

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

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

到目前为止,您尝试了什么?如果您不显示代码,基本上任何人都不可能在不给您答案的情况下帮助您,这从长远来看对您毫无帮助。发布代码,然后搜索“java字符串格式”。第一个结果包含解决此问题所需的所有信息。请使用System.out.printf(“%d\t%d”,a,b);