1

在一个程序中,我试图制作唯一的身份证号码。我用这种方式:

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。当然,这意味着您必须跟踪哪些 pid 可用。

我怎么做?

4

1 回答 1

3

对我来说,您的教授的解释很清楚-您不了解其中的任何特定部分吗?

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

  1. 循环从 0 到 99 的数字(在 99 之后,下一个数字应该再次为 0)
  2. 添加一个设施来存储到目前为止生成的数字(例如在一个集合中)
  3. 添加设施以检查当前号码是否尚未使用
  4. (添加一个工具以在相关进程终止时释放已使用的进程号 - 从描述中不清楚您是否需要它。)
于 2010-10-02T15:26:17.960 回答