您的位置:程序门 -> java -> j2se / 扩展类



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


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


java中怎样自动生成不重复的数字(急)
发表于:2007-09-01 17:46:08 楼主
我想问一下各位高手,我想做一个注册表单,其中的注册id号,让系统自动生成而且数字不能重复,应怎么解决呀!谢谢啦
发表于:2007-09-01 17:53:321楼 得分:0
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可以在数据库里面写啊.
发表于:2007-09-01 18:12:352楼 得分:0
只能存到数据库或文件里。     那后用一次加1。   否则不能做到不重复的。
发表于:2007-09-01 18:40:323楼 得分:0
什么啊.这样还不知道.当然可以做到不重复了
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;
}
这样不就行了.掉用这个撒.或者用其他的.都可以啊.
自己都连数据库了.这还不知道吗
发表于:2007-09-01 22:10:444楼 得分:0
楼主直接用timestamp就行了。在一个millisecond里不用两次就没问题。

楼上的,你那是重复的几率很小吧。
发表于:2007-09-01 22:45:105楼 得分:0
有没有一种办法就是id事先不用写在数据库里,而是在用sql的插入语句时自动生成随机数
发表于:2007-09-02 03:42:446楼 得分:0
用hashcode只要hash的对象不同,数字就不会重复了。hashcode的好处是对同一个对象每次能产生同样的hash值。random.nextint(int)是一个线形同余伪随机数发生器,伪随机数并不适合做id号。
使用注册的时间标记外加一个和注册名相关的随机数应该足够区分所有id了。
发表于:2007-09-02 13:36:197楼 得分:0
我天没那么麻烦吧   让id自动增长不就行了吗   比如可以   10000   开始   每次加1
保证没重复的
发表于:2007-09-02 16:56:168楼 得分:0
把数放入set中
发表于:2007-09-02 18:10:069楼 得分:0
......为什么id号要是随机数
发表于:2007-09-02 19:28:3610楼 得分:0
搞什么啊?
设置数据库就可以了,
sqlserver   设置标识
oracle使用sequense


快速检索

最新资讯
热门点击