我生成使用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