我只想生成6位数字的随机数,范围应该从000000开始到999999。
new Random().nextInt(999999)正在返回我的号码,但它不是6位数。
发布于 2018-07-13 11:28:04
就这么简单,您可以使用您的代码,只需在这里多做一件事。
String.format("%06d", number);这将返回字符串格式的数字,因此"0“将是"000000”。
这是密码。
public static String getRandomNumberString() {
// It will generate 6 digit random Number.
// from 0 to 999999
Random rnd = new Random();
int number = rnd.nextInt(999999);
// this will convert any number sequence into 6 character.
return String.format("%06d", number);
}发布于 2018-07-13 10:12:55
如果你需要一个六位数的数字,它必须从100000开始
int i = new Random().nextInt(900000) + 100000;前导零没有影响,000000和0是一样的。如果您使用的是Java ThreadLocalRandom,您可以使用7+进一步简化它:
int i = ThreadLocalRandom.current().nextInt(100000, 1000000)发布于 2018-07-13 10:18:53
1+ nextInt( 2 )总是给出1或2,然后你把它乘以10000来满足你的要求,然后在0..9999之间加一个数字。
已经解决的here
public int gen()
{
Random r = new Random( System.currentTimeMillis() );
return ((1 + r.nextInt(2)) * 10000 + r.nextInt(10000));
}https://stackoverflow.com/questions/51322750
复制相似问题