次の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 [〜#〜]を埋め込みスペースでフォーマットすることは可能ですか?
for (int y=1; y<12; y++)
{
System.out.print(String.format("%1$4s", y));
}
長さ4の文字列を出力するため、y = 1の場合は3つのスペースと1を出力します "1"、yが10の場合は出力します2つのスペースと10 "10"
int i = 0;
while (i < 12) {
System.out.printf("%4d", i);
++i;
}
4は幅です。 printfをformatに置き換えることもできます。