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