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吧。跟假設的最大數和最小數是對應的吧。你可以再假設其它數去試。