我想问一下各位高手,我想做一个注册表单,其中的注册ID号,让系统自动生成而且数字不能重复,应怎么解决呀!谢谢啦

解决方案 »

  1.   

    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可以在数据库里面写啊.
      

  2.   

    什么啊.这样还不知道.当然可以做到不重复了
    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;
    }
    这样不就行了.掉用这个撒.或者用其他的.都可以啊.
    自己都连数据库了.这还不知道吗
      

  3.   

    楼主直接用timestamp就行了。在一个millisecond里不用两次就没问题。楼上的,你那是重复的几率很小吧。
      

  4.   

    有没有一种办法就是ID事先不用写在数据库里,而是在用SQL的插入语句时自动生成随机数
      

  5.   

    用HashCode只要Hash的对象不同,数字就不会重复了。HashCode的好处是对同一个对象每次能产生同样的Hash值。Random.nextInt(int)是一个线形同余伪随机数发生器,伪随机数并不适合做ID号。
    使用注册的时间标记外加一个和注册名相关的随机数应该足够区分所有ID了。
      

  6.   

    搞什么啊?
    设置数据库就可以了,
    sqlserver 设置标识
    oracle使用sequense