1. 程式人生 > >Java 生成N位隨機數的方法

Java 生成N位隨機數的方法

最近專案中有一個需求:在自增的id後加上N位隨機數,提高安全性,自己寫了一個簡單的實現方式。

思路:

通過JDK 的Math.random()函式生成一個[0,1]範圍內的隨機數,將這個隨機數乘以 9,然後再加1 就構成了[1,10]範圍的一個隨機數了(1位隨機數)。依次類推,要產生2位的隨機數只需要將Math.random()乘以 90,然後加上10就可以了。

實現程式碼:

/**
     * 產生4位隨機數
     * @return
     */
    protected long generateRandomNumber(int n){
        if(n<1){
            throw new IllegalArgumentException("隨機數位數必須大於0");
        }
        return (long)(Math.random()*9*Math.pow(10,n-1)) + (long)Math.pow(10,n-1);
    }