0

これを使用して、0〜99の乱数を生成します:

int num2= (int)(Math.random() * ((99) + 1));

数値が 10 未満の場合は 0num2 で印刷したいので、数値が 9 の場合は 09 になります。

これを印刷するにはどうすればよいですか?

4

5 に答える 5

5

format()次の方法 を使用できます。

System.out.format("%02d%n", num2);

%02d引数を幅 2 の数値として出力し、0 でパディングすると
%n改行が表示されます

于 2012-09-24T19:45:48.597 に答える
3
System.out.println((num2 < 10 ? "0" : "") + num2);

一発ギャグ :-)

于 2012-09-24T19:44:11.187 に答える
2

を見てくださいPrintStream.format。これにより、指定された幅とパディング文字を使用して印刷できます。

System.outは であるため、 の代わりにPrintStream使用できます。System.out.formatprintln

あなたのケースは非常に単純です。フォーマット文字列の構文を見てください。

System.out.format("%02d", num2);

ここで、 2は最小幅であり、0は、結果の幅が 2 未満の場合、結果にゼロを埋め込むことを指定します。

于 2012-09-24T19:44:18.697 に答える
2
String str;
if (num2 < 10) str = "0" + num2;
else str = "" + num2;

System.out.println("Value is: " + str);
于 2012-09-24T19:43:26.727 に答える
1

代わりに、余分な桁を削除する方法を使用できます。

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));

他の文字列を組み合わせて印刷できるため、通常は最後のオプションを使用します。

于 2012-09-24T19:46:33.887 に答える