如何在java中生成4位数的随机数从0000到9999

时间:2018-01-11 15:26:07

标签: java

我尝试了以下

int number = ThreadLocalRandom.current().nextInt(1000, 9999 + 1);

但它不会产生像0004,0035这样的4位数字......等等......

我搜索了类似的问题但没有解决,它们与我需要的不同,如果已经存在问题请告诉我。

我不需要像1485和0180这样的genarate数字,不仅仅是以0开头的数字。

2 个答案:

答案 0 :(得分:1)

您生成的整数值将根据您的需要而正确。如果你想要总是有四个字符,你可以简单地将值写入带有前导零的字符串,就像这样;

String.format("%04d", number);

答案 1 :(得分:1)

这应该有效:

    Random r = new Random();
    String randomNumber = String.format("%04d", r.nextInt(1001));
    System.out.println(randomNumber);

<强> EDIT1

    Random r = new Random();
    String randomNumber = String.format("%04d", Integer.valueOf(r.nextInt(1001)));
    System.out.println(randomNumber);

<强> EDIT2

    Random r = new Random();
    String randomNumber = String.format("%04d", (Object) Integer.valueOf(r.nextInt(1001)));
    System.out.println(randomNumber);

所有三个版本都应该有效。