我有以下Java代码来生成由零填充的数字。
DecimalFormat fmt = new DecimalFormat("000");
for (int y=1; y<12; y++)
{
System.out.print(fmt.format(y) + " ");
}
输出如下:
001 002 003 004 005 006 007 008 009 010 011
我的问题是:如何使用填充空格而不是前导零来生成数字?
1 2 3 4 5 6 7 8 9 10 11
注意:我知道StackOverflow中有几个问题需要在String中填充空格。我知道如何用String做到这一点。我想问是否可以用填充空格格式化 NUMBERS ?
答案 0 :(得分:24)
for (int y=1; y<12; y++)
{
System.out.print(String.format("%1$4s", y));
}
它将打印长度为4的字符串,因此如果y = 1,它将打印3个空格和1,&#34; 1&#34; ,如果y为10,则会打印2个空格和10,&#34; 10&#34; 强>
答案 1 :(得分:5)
int i = 0;
while (i < 12) {
System.out.printf("%4d", i);
++i;
}
4是宽度。您也可以用格式替换printf。