我生成使用0-99之間的隨機數這樣的:Java的隨機打印
int num2= (int)(Math.random() * ((99) + 1));
當數低於10,我希望它有一個0num2 打印所以,如果數爲9這將是09 。
我怎樣才能打印出來?
我生成使用0-99之間的隨機數這樣的:Java的隨機打印
int num2= (int)(Math.random() * ((99) + 1));
當數低於10,我希望它有一個0num2 打印所以,如果數爲9這將是09 。
我怎樣才能打印出來?
String str;
if (num2 < 10) str = "0" + num2;
else str = "" + num2;
System.out.println("Value is: " + str);
當你需要一個簡單的按鈕時,哪裏可以找到? – thatidiotguy
@thatidiotguy你需要什麼輕鬆按鈕? –
哈哈,享受推動它,聽到「很容易」的短語的樂趣。 – thatidiotguy
System.out.println((num2 < 10 ? "0" : "") + num2);
一個襯墊:-)
看一看PrintStream.format
,這將允許您使用指定的寬度和填充字符打印。您可以使用System.out.format
代替println
。
你的情況是非常簡單的,過目syntax格式字符串:
System.out.format("%02d", num2);
這裏是最小寬度,指定結果用零填充,如果結果的寬度小於2
可以使用除去額外的數字,而不是方法。
System.out.println(("" + (int)(Math.random()*100 + 100)).substring(1));
或者使用String格式。
String s = String.format("%02d", (int)(Math.random()*100));
或
System.out.printf("%02d", (int)(Math.random()*100));
我一般會用最後的選擇,因爲它允許你結合其他字符串,並打印出來。
你認爲如果需要的話可以追加額外的0嗎?如果是這樣,爲什麼?此外,你得到的數字從100到199,而不是0到99,但我希望你知道這一點。 –
刪除第一個數字100到199之後變成00到99.至於它的更好是否是味道的問題。 –
它使得代碼難以閱讀,並且很可能更慢(即使非常小)...在使用子字符串來完成這項工作時完全沒有看到任何要點。 –
爲什麼不直接使用* 100?爲什麼99 + 1? –
http://stackoverflow.com/a/275716/779982 – naugler