import java.util.Random; public class random { public static String getrandom(){ String code = ""; Random random = new Random(); for (int i = 0; i < 6; i++) { int r = random.nextInt(10); //每次隨機出一個數字(0-9) code = code + r; //把每次隨機出的數字拼在一起 } return code; } }
以上代碼是復制網上的,也運用到了自己的練習項目中。以前老師講過一種用Math.random()實現。
random.nextInt()與Math.random()的區別是:
Math.random()是方法,random.nextInt()是一個類。Math.random()是Random.nextDouble()的一個內部方法.
java中生成的隨機數都是偽隨機,也就是根據特定算法算出來的,只要理解了算法,下一個隨機數是可以算出來的。不過在我們平時使用中夠用了
在百度中看到random.nextInt()的效率比Math.random()高50%-80%。所以就用了上面代碼的方法。
附上Math.random()生成六位驗證碼的方法
public class Random { public static Integer getRandom(){ String randomString=null; Integer random = null; do{ random=(int)(Math.random()*1000000); randomString=random+""; } while(randomString.length()<6); return random; } }