スペースの数を動的に変更する必要があるアプリケーションに取り組んでいます。スペースを1つ増やす必要があるたびに。その背後にあるロジックは知っていますが、構文に役立つドキュメントは見つかりませんでした。
System.out.printf("%3s", " ");
上記のコードはネストされたループ内にあります。数値 3 を動的にしたいと思います。必要なことを達成するには、数値を変数にする必要があります。s の前の数値を変数に設定するにはどうすればよいですか?
お気に入り:
int gap = 3;
System.out.printf("%" + gap + "s", " ");
印刷出力の書式設定では、書式指定子はパーセント記号 ( ) で始まり%
、コンバーター ( ) で終わりs
ます。コンバーターは、フォーマットする引数のタイプを示す文字です。パーセント記号 (%) とコンバーターの間には、オプションのフラグと指定子 ( width
、精度、符号) を含めることができます。
long n = 461012;
System.out.format("%08d%n", n); // prints "00461012"
上記の例では:
d
n
10 進整数として出力されるターゲット パラメータを指定するコンバータです。08
はフラグです。表示される 10 進整数を指定する場合、幅は 8 文字で、必要に応じて先行ゼロが必要です。ドキュメントを確認してください:クラスフォーマッタと数値印刷出力のフォーマット
String space = ""
for(int i = 0; i < 5; i++){
space += " ";
System.out.printf("%s", i + space + ",");
}