我使用以下方法生成0-99之间的随机数:
int num2= (int)(Math.random() * ((99) + 1));
当数字低于10时,我希望它以0num2打印 因此如果数字为9则为09。
我怎样才能打印出来?
答案 0 :(得分:5)
答案 1 :(得分:3)
System.out.println((num2 < 10 ? "0" : "") + num2);
一个班轮: - )
答案 2 :(得分:2)
String str;
if (num2 < 10) str = "0" + num2;
else str = "" + num2;
System.out.println("Value is: " + str);
答案 3 :(得分:2)
查看PrintStream.format
,它允许您使用指定的宽度和填充字符进行打印。
System.out
是PrintStream
,因此您可以使用System.out.format
代替println
。
您的情况非常简单,请查看syntax格式字符串:
System.out.format("%02d", num2);
这里 2 是最小宽度, 0 指定如果结果的宽度小于2,则用零填充结果。
答案 4 :(得分:1)
您可以使用删除额外数字的方法。
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));
我通常会使用最后一个选项,因为它允许您组合其他字符串并打印它们。