在java中我們可以使用java.util.Random類來產生一個隨機數發生。它有兩個構造函數,分別是Random()和Random(long seed)。Random()是用當前時間即System.currentTimeMillis()作為發生器的種子,而Random(long seed)是用指定的seed作為發生器的種子。
當隨機數發生器就是Random對象產生以後,可以通過對象調用不同的方法:nextInt()、nextLong()、nextFloat()、nextDouble()等來獲得不同類型的隨機數。 如果2個Random對象使用相同的種子(比如都是100),並且以相同的順序調用相同的函數,那麼它們的返回值完全相同。
話多無益,我先舉個栗子,如下代碼:
但是,我想要某個范圍的數字怎麼辦呢?比如我想隨機產生 0-99之間的隨機數,這個時候我們可以使用模數運算符%。
將模數運算符%作用於隨機數產生器所產生的隨機數身上,目的就是為了讓隨機數的最大值屬於我們所制定的操作數數值減1范圍內。看下面代碼就將輸入控制在0~99的范圍內。(友情提示:如果不加Math.abs(),輸出范圍將是-99~99。 )
先看不加Math.abs()的情況,如下
在看加了的情況,如下: