これを使用して、0〜99の乱数を生成します:
int num2= (int)(Math.random() * ((99) + 1));
数値が 10 未満の場合は 0num2 で印刷したいので、数値が 9 の場合は 09 になります。
これを印刷するにはどうすればよいですか?
format()
次の方法 を使用できます。
System.out.format("%02d%n", num2);
%02d
引数を幅 2 の数値として出力し、0 でパディングすると
%n
改行が表示されます
System.out.println((num2 < 10 ? "0" : "") + num2);
一発ギャグ :-)
を見てくださいPrintStream.format
。これにより、指定された幅とパディング文字を使用して印刷できます。
System.out
は であるため、 の代わりにPrintStream
使用できます。System.out.format
println
あなたのケースは非常に単純です。フォーマット文字列の構文を見てください。
System.out.format("%02d", num2);
ここで、 2は最小幅であり、0は、結果の幅が 2 未満の場合、結果にゼロを埋め込むことを指定します。
String str;
if (num2 < 10) str = "0" + num2;
else str = "" + num2;
System.out.println("Value is: " + str);
代わりに、余分な桁を削除する方法を使用できます。
System.out.println(("" + (int)(Math.random()*100 + 100)).substring(1));
または文字列形式を使用します。
String s = String.format("%02d", (int)(Math.random()*100));
また
System.out.printf("%02d", (int)(Math.random()*100));
他の文字列を組み合わせて印刷できるため、通常は最後のオプションを使用します。