我尝试了以下方法
int number = ThreadLocalRandom.current().nextInt(1000, 9999 + 1);
但它不会生成 4 位数字,如 0004,0035 等...
我搜索了类似的问题,但没有解决,它们与我需要的不同,如果已经存在问题,请告诉我。
我不需要生成像 1485 和 0180 这样的数字,而不仅仅是以 0 开头的数字。
最佳答案
这应该有效:
Random r = new Random();
String randomNumber = String.format("%04d", r.nextInt(1001));
System.out.println(randomNumber);
编辑1
Random r = new Random();
String randomNumber = String.format("%04d", Integer.valueOf(r.nextInt(1001)));
System.out.println(randomNumber);
编辑2
Random r = new Random();
String randomNumber = String.format("%04d", (Object) Integer.valueOf(r.nextInt(1001)));
System.out.println(randomNumber);
所有三个版本都应该可以工作。
关于java - 如何在java中生成从0000到9999的4位随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48210530/