Random tRnd = new Random();
放到方法的外边来,别每次都new

解决方案 »

  1.   

    java.util.Random是和时间有关的, 时间一样随机值一样。
    用java.lang.Math 
    里的random()
    然后自己扩大倍数
      

  2.   

    geyf(其实我也不会) 大哥的方法小弟试过了,可是还是不行啊?请问scbb(星际Baby)大哥,java.lang.Math 里的random()具体怎么用?
    怎么来扩大倍数啊?
      

  3.   

    SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
    用上面的方法种个种子,再构造就可以了,还有Random tRnd = new Random();放在外面。
    就可以了 ,我用这个做过在线考试系,就是取的随机数的。
    GOOD LUCK!!!
      

  4.   

    public String getRandom(){    int i1 = (int)(java.lang.Math.random()*10);    int i2 = (int)(java.lang.Math.random()*10);    int i3 = (int)(java.lang.Math.random()*10);    int i4 = (int)(java.lang.Math.random()*10);    return String.valueOf(i1)+String.valueOf(i2)+String.valueOf(i3)+String.valueOf(i4);  }
      

  5.   

    不是SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
    而是java.util.Random r =new java.util.Random();
    java.util.Random ran =new java.util.Random(r.nextLong());
    就OK了,把这个代码放在外面就可以了。它的范围是0到1,你根据你自己的情况取范围就可以了。GOOD LUCK !!!结账吧。
      

  6.   

    java.lang.Math 里的random()返回的是0-1之间的数字。
    比如你要 0 -100的整数就 把random出来的数字*100。
    如果要 100 - 1000的整数就 就把random出来的数字 先* 900 得到0 - 900的随机数
    然后
    再+ 100 , 得到100 - 1000的随机数。这就是扩大倍数。加油。
      

  7.   

    忘了说了那个random返回的是double,
    需要int强制转换一下。