私は Java を学んでいて、このばかげた小さな問題に多くの時間を費やしてきました。文字列出力の左側をスペースで動的にパディングしようとしているため、表示されるすべての値が左にパディングされます。問題は、ユーザーが値を入力するまで値の長さがわからないことです。
これが私がやろうとしていることの例です。nLongestString は表示している最長の文字列の長さで、strValue は文字列自体の値です。これは動的にはまったく機能しません。nLongestString の値をハードコーディングすると機能しますが、文字列の長さが常にわからないため、それはできません。
System.out.printf("%"+nLongestString+"s", strValue + ": ");
出力は次のようになります。
thisisalongstring:
longstring:
short: