12用Java生成数字唯一随机数 [英] 12 Digit unique random number generation in Java

查看:555
本文介绍了12用Java生成数字唯一随机数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个应用程序,我们需要生成一些唯一的数字,实际上没有预定义的限制所以使用java UUD生成器并且工作正常。
现在我们有了新的要求来生成12位数的唯一随机数。

i was working on an application where we need to generate some unique number and practically there was no predefined restrictions so was using java UUD generator and was working fine. Now we are given a new requirements to generate 12 digits unique random number.

任何人都可以指出一些好的方法/算法来实现这一点,因为我可以在UUID生成的数字中看不到任何可能性。

Can any one point me some good way/algorithm to achieve this as i can not see any possibility in the UUID generated number.

提前致谢

推荐答案

通过调用 random.nextInt 生成每个数字。为了保持唯一性,您可以通过将它们保存在一个集合中来检查您目前使用的随机数,并检查该集合是否包含您每次生成的数字。

Generate each digit by calling random.nextInt. For uniqueness, you can keep track of the random numbers you have used so far by keeping them in a set and checking if the set contains the number you generate each time.

public static long generateRandom(int length) {
    Random random = new Random();
    char[] digits = new char[length];
    digits[0] = (char) (random.nextInt(9) + '1');
    for (int i = 1; i < length; i++) {
        digits[i] = (char) (random.nextInt(10) + '0');
    }
    return Long.parseLong(new String(digits));
}

这篇关于12用Java生成数字唯一随机数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆