产生6位数的随机数

Kra*_*ken 0 java

我只想生成6位数的随机数,范围应从000000到999999。

new Random().nextInt(999999) 返回我的电话号码,但不是6位数字。

Kar*_*cki 10

如果你需要一个六位数的号码,它必须从 100000

int i = new Random().nextInt(900000) + 100000;
Run Code Online (Sandbox Code Playgroud)

前导零没有作用,0000000. ThreadLocalRandom如果您使用的是 Java 7+,您可以进一步简化它:

int i = ThreadLocalRandom.current().nextInt(100000, 1000000)
Run Code Online (Sandbox Code Playgroud)

  • 899999 -> 900000,因为`nextInt` 保证生成小于其参数的数字。 (2认同)

Dev*_*bby 9

就这么简单,您可以使用您的代码,并在此处额外做一件事

String.format("%06d", number);
Run Code Online (Sandbox Code Playgroud)

这将以字符串格式返回您的数字,因此“ 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);
}
Run Code Online (Sandbox Code Playgroud)

  • 还有一件事,你不能得到“000000”作为数字,在数字上它只会是“0”,这就是我在这里返回字符串的原因。 (2认同)