在我的应用程序中,我希望生成九位数的随机数字,并确保它们是唯一的。每次运行应用程序时,只能生成一个九位数的随机数字,并且这个数字必须是唯一的。之后,我想将此数字与其相关数据保存在一个 .txt 文件中,以便需要时可以检索与此唯一数字相关联的数据。如何实现这一目标?
你想让他们真正随机还是真正独一无二?只能选择其中一种。
如果你想让它们真正随机,那么只需从0-9中随机选择9个数字,将它们组合成你的数字。在大量迭代过程中可能会出现重复的小概率事件,但它将是真正随机的。
如果你想让它们真正独一无二,那么你必须将每个数字存储在数据库中以确保没有重复。如果生成了一个重复的数字,你需要重新生成或者增加数字并重试。如果这就是你所寻找的,那么从一开始逐渐增加数值可能是一个不错的选择。
想要生成唯一的数字,请尝试使用如下代码:(new Date()).getTime()
,该代码每秒只能生成一个唯一的数字。
Random random = new Random(System.nanoTime());
int randomInt = random.nextInt(1000000000);
Random random = new Random(System.nanoTime() % 100000);
int randomInt = random.nextInt(1000000000);
long number = (long) Math.floor(Math.random() * 900000000L) + 10000000L;
然而,如果你只是想要一个唯一的数字,我建议使用数据库。