騎豬闖天下

          J2ME隨筆,記錄成長的腳步

          統(tǒng)計

          留言簿(3)

          閱讀排行榜

          評論排行榜

          [J2ME] random類 隨機數(shù) 實例

          Random類。 此類在CLDC1.0中已經(jīng)定義。


          1. 這個類有兩個構(gòu)造函數(shù)Random() 和Random(long seed) 并且提供了四個常用方法:
             next (int bits)
             nextInt ()
             nextLong ()
             setSeed (long seed)

          2. 實例:
             Random.next(1),產(chǎn)生負“2的1次方”~“2的1次方”之間的隨機數(shù)(-2到2)  
             Random.next(2),產(chǎn)生負“2的2次方”~“2的2次方”之間的隨機數(shù)(-4到4)  
             Random.next(3),產(chǎn)生負“2的3次方”~“2的3次方”之間的隨機數(shù)(-8到8)  
             Random.next(4),產(chǎn)生負“2的4次方”~“2的4次方”之間的隨機數(shù)(-16到16)

             Random.nextInt( n ); 產(chǎn)生一個 [0, n) 之間的隨機整數(shù)

             Random.nextLong();用來產(chǎn)生隨機長整數(shù),最大2的64次方

             Random.setSeed(long seed); 用于設(shè)定隨機數(shù)的種子,即這里的seed

          3. 代碼解析:

              public static int getRandom(int min,int max)
                  
          int ran=Math.abs(random.nextInt()); 
                  
          int returnRan=ran%(max-min+1)+min; 
                  
          return returnRan; 
              }

          代碼中 int returnRan=ran%(max-min+1)+min 是:
          把上面的隨機整數(shù) random.nextInt(),絕對值Math.abs(random.nextInt()) 后
          再來取模(即取余) ran% x, 產(chǎn)生一個[0-x]的隨機整數(shù)。

          打個比方: ran = 100;
          但是我要的隨機數(shù)是在3-10之間的,那么上面就會是
          int returnRan=ran%8+3 ;
          即:int returnRan=ran%(10-3+1)+3

          解釋: 
                   取余是從0-目的數(shù)之前的數(shù)。 如 x%m, 那么結(jié)果范圍是 [0, m-1],
                   所以,取0-m之間的隨機數(shù),要 (random.nextInt()) %(m+1); 
                   因為(random.nextInt())包括負值,再取一下絕對值,所以:
                   Math.abs(random.nextInt()) %(m+1);

          例子:
          int ran=Math.abs(random.nextInt());

          1, 取0-3之間的隨機整數(shù):ran%4 = ran%(3+1);
          2, 取4-9之間的隨機整數(shù):ran%6+4 = ran%(9-4+1)+4;  即,先產(chǎn)生0-5之間的隨機數(shù),然后再加4;

           

          <騎豬闖天下>

          posted on 2008-08-28 16:30 騎豬闖天下 閱讀(1391) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 万全县| 海宁市| 游戏| 东阳市| 新兴县| 甘洛县| 横山县| 夏邑县| 松江区| 独山县| 丰台区| 靖江市| 宾阳县| 财经| 乌拉特中旗| 洞口县| 富宁县| 武乡县| 枣强县| 张家港市| 惠东县| 沅江市| 水城县| 梧州市| 汝南县| 会昌县| 鄂伦春自治旗| 瑞金市| 巴彦县| 密山市| 辛集市| 嘉黎县| 海丰县| 巴彦淖尔市| 丰宁| 洛宁县| 孟连| 南郑县| 枞阳县| 思茅市| 油尖旺区|