java中生成任意之間數的隨機數


public static int cssjs(int a,int b) {
        Random rand=new Random();
        int zhi;
        zhi=rand.nextInt(b)%(b-a+1)+a;
        return zhi;
    }

我們觀察其Random對象的nextInt(int)方法,發現這個發現這個方法將生成 0 ~ 參數之間隨機取值的整數。例如(假設先有 Random rand = new Random();
rand.nextInt(100);這行代碼將生成范圍 0~100 之間的隨機數,有趣的是,取值可能為 0 ,但不可能為 100。我們用中學數學課學習的區間表示法,表示為:[0, 100)。

對產生任意取值范圍內隨機數的數學原理的解釋:先獲取0-max之間的隨機數,然后對max-min+1取余,這樣得到的是0到max-min,然后再加上最小值min,就是需要的隨機數。假設max = 100;min=50;random.nextInt(100)應該是0-100之間的數吧,max-min+1 應該是51吧。取余數所得的數應該是0-50吧。最后再加上最小數(50) 應該是50-100吧。跟假設的最大數和最小數是對應的吧。你可以再假設其它數去試。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM