SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); 用上面的方法种个种子,再构造就可以了,还有Random tRnd = new Random();放在外面。 就可以了 ,我用这个做过在线考试系,就是取的随机数的。 GOOD LUCK!!!
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); }
不是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 !!!结账吧。
用java.lang.Math
里的random()
然后自己扩大倍数
怎么来扩大倍数啊?
用上面的方法种个种子,再构造就可以了,还有Random tRnd = new Random();放在外面。
就可以了 ,我用这个做过在线考试系,就是取的随机数的。
GOOD LUCK!!!
而是java.util.Random r =new java.util.Random();
java.util.Random ran =new java.util.Random(r.nextLong());
就OK了,把这个代码放在外面就可以了。它的范围是0到1,你根据你自己的情况取范围就可以了。GOOD LUCK !!!结账吧。
比如你要 0 -100的整数就 把random出来的数字*100。
如果要 100 - 1000的整数就 就把random出来的数字 先* 900 得到0 - 900的随机数
然后
再+ 100 , 得到100 - 1000的随机数。这就是扩大倍数。加油。
需要int强制转换一下。