2014年4月8日

【Java】隨機亂數 Math Random Number

各位JavaAndroid開發者大家好!

小黑人今天與大家分享的是Java本身就有提供的數理運算式,在眾多的運算式中小黑人先挑選其中一個也就是今天要說明的隨機取亂數的運算,在一般的應用程式上或許會比較少使用到,但還是可以運用在其他很多地方的,例如遊戲出題目或洗牌或隨機換顏色之類的功能,隨機亂數這運算式因為Java本身就有提供,所以很簡單我們只需要一行就可以完成,那要怎麼撰寫取亂數的功能呢,就讓我們繼續看下去吧!


我們只要直接呼叫Math類別進行Random的動作就可以囉,例如下方
int 隨機選中的亂數 = (int)(Math.random()*範圍);

P.S. Math.random()
的型態是double是個大於等於0並且小於1的隨機值,若起始值不等於0的話則須加上起始值。


小黑人舉例 :
1. 0-9
中隨機取一個數 → int亂數
= (int)(Math.random()* 10);
2. 1-99中隨機取一個數 int亂數 = (int)(Math.random()* 99 + 1);
3. 101-199
中隨機取一個數 → int亂數
= (int)(Math.random()* 99 + 101);

以上就是隨機亂數的產生,因為int為無條件捨去法,所以random範圍是小於1的狀況下,所以範圍都會加上1進行運算,大家可以試試看喔!
謝謝大家如有任何問題都可以和小黑人一起交流討論

☆小黑人☆

4 則留言:

  1. low到high亂數(含high)
    (int) (Math.random() * (high - low + 1) + low)

    low到high亂數(不含high)
    (int) (Math.random() * (high - low) + low)

    回覆刪除
    回覆
    1. 您好,很抱歉這麼晚才回覆您,
      您的寫法也是可以的,依不同的亂數範圍需求而做更改.
      Math.random()其實就是介於0 - 0.999...
      感謝您提供的作法與回覆,謝謝!

      刪除
    2. 請問一下 四位數的亂數 語法該怎麼表示呢

      刪除
    3. 四位數就是1000~9999
      (int)(Math.random()*(9999-1000+1)) + 1000;
      也就是(int)(Math.random()*9000) + 1000;

      刪除

謝謝大家支持,有任何問題都可以和小黑人一起討論!