JAVA中怎样自动生成不重复的数字(急)

zhengboyu_666 2007-09-01 05:46:08
我想问一下各位高手,我想做一个注册表单,其中的注册ID号,让系统自动生成而且数字不能重复,应怎么解决呀!谢谢啦
...全文
1667 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
huqifei 2007-09-02
  • 打赏
  • 举报
回复
搞什么啊?
设置数据库就可以了,
sqlserver 设置标识
oracle使用sequense
edien8wing 2007-09-02
  • 打赏
  • 举报
回复
......为什么id号要是随机数
beyond_yangyang 2007-09-02
  • 打赏
  • 举报
回复
把数放入SET中
chshawkn 2007-09-02
  • 打赏
  • 举报
回复
用HashCode只要Hash的对象不同,数字就不会重复了。HashCode的好处是对同一个对象每次能产生同样的Hash值。Random.nextInt(int)是一个线形同余伪随机数发生器,伪随机数并不适合做ID号。
使用注册的时间标记外加一个和注册名相关的随机数应该足够区分所有ID了。
godfather521 2007-09-02
  • 打赏
  • 举报
回复
我天没那么麻烦吧 让id自动增长不就行了吗 比如可以 10000 开始 每次加1
保证没重复的
zhengboyu_666 2007-09-01
  • 打赏
  • 举报
回复
有没有一种办法就是ID事先不用写在数据库里,而是在用SQL的插入语句时自动生成随机数
cl55 2007-09-01
  • 打赏
  • 举报
回复
楼主直接用timestamp就行了。在一个millisecond里不用两次就没问题。

楼上的,你那是重复的几率很小吧。
sun139 2007-09-01
  • 打赏
  • 举报
回复
什么啊.这样还不知道.当然可以做到不重复了
public String geta()
{
String a="";
if(int i=0;i<10;i++)
{
a = a + (""+ new Random().nextInt(10)).trim().substring(0, 1);
}
System.out.println(a);
return a;
}
这样不就行了.掉用这个撒.或者用其他的.都可以啊.
自己都连数据库了.这还不知道吗
cl55 2007-09-01
  • 打赏
  • 举报
回复
只能存到数据库或文件里。 那后用一次加1。 否则不能做到不重复的。
sun139 2007-09-01
  • 打赏
  • 举报
回复
public void static main(String[] are)
{
String a="";
if(int i=0;i<10;i++)
{
a = a + (""+ new Random().nextInt(10)).trim().substring(0, 1);
}
System.out.println(a);
}

应该不会重复的.
试试看
ID可以在数据库里面写啊.

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧