制作只有数字的唯一ID?

时间:2010-10-02 15:18:46

标签: java uniqueidentifier identification

在一个程序中,我正在尝试制作唯一的ID号。我用这种方式:

AtomicInteger count = new AtomicInteger(0);
count.incrementAndGet();
int pid = count.get();
System.out.println("pid: " + pid);

但我的教授说:

  

另一个问题是pid的产生。您所做的只是从0开始获取下一个整数。当您到达流程表的末尾时会发生什么?您必须提出自己的pid生成算法,该算法根据项目规范工作,即它循环通过数字0到99,然后当它循环回到低数字时,它以最低的可用pid开始。有很多方法可以实现这样的算法,但最简单的方法是添加1 mod 100,然后继续查找,直到找到可用的pid。当然,这意味着您必须跟踪可用的pids。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

对我来说,你的教授的解释很清楚 - 你有什么特别的部分你不明白吗?

如果您了解各个部分,请将任务划分为较小的子任务并逐个实现。像

  1. 循环显示从0到99的数字(99之后,下一个数字应该再次为0)
  2. 添加工具以存储到目前为止生成的数字(例如,在collection
  3. 添加设施以检查当前号码是否尚未使用
  4. (添加设施以在关联流程终止时释放已使用的流程编号 - 从描述中不清楚您是否需要此。)