• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 195,  comments - 30,  trackbacks - 0

            本文來自CSDN博客http://blog.csdn.net/pointbin/archive/2006/01/12/576957.aspx

             
            在java.lang.Math中有個Math.random()方法,它可以產生0-1之間(包括0但不包括1)的任意小數


            在Java中我們可以使用java.util.Random類來產生一個隨機數發生器。它有兩種形式的構造函數,分別是Random()和Random(long seed)。Random()使用當前時間即System.currentTimeMillis()作為發生器的種子,Random(long seed)使用指定的seed作為發生器的種子。

                    隨機數發生器(Random)對象產生以后,通過調用不同的method:nextInt()、nextLong()、nextFloat()、nextDouble()等獲得不同類型隨機數。

                   1>生成隨機數
                       Random random = new Random();
                       Random random = new Random(100);//指定種子數100
                       random調用不同的方法,獲得隨機數。
                       如果2個Random對象使用相同的種子(比如都是100),并且以相同的順序調用相同的函數,那它們返回值完全相同。如下面代碼中兩個Random對象的輸出完全相同
                      import java.util.*;
                      class TestRandom {
                            public static void main(String[] args) {
                                 Random random1 = new Random(100);
                                 System.out.println(random1.nextInt());
                                 System.out.println(random1.nextFloat());
                                 System.out.println(random1.nextBoolean());
                                 Random random2 = new Random(100);
                                 System.out.println(random2.nextInt());
                                 System.out.println(random2.nextFloat());
                                 System.out.println(random2.nextBoolean());
                            }
                        }

                    2>指定范圍內的隨機數
                         隨機數控制在某個范圍內,使用模數運算符%
                        import java.util.*;
                             class TestRandom {
                                  public static void main(String[] args) {
                                       Random random = new Random();
                                       for(int i = 0; i < 10;i++) {
                                           System.out.println(Math.abs(random.nextInt())%10);
                                       }
                                  }
                             }
                         獲得的隨機數有正有負的,用Math.abs使獲取數據范圍為非負數

                   3>獲取指定范圍內的不重復隨機數
                        import java.util.*;
                        class TestRandom {
                              public static void main(String[] args) {
                                   int[] intRet = new int[6];
                                   int intRd = 0; //存放隨機數
                                   int count = 0; //記錄生成的隨機數個數
                                   int flag = 0; //是否已經生成過標志
                                   while(count<6){
                                        Random rdm = new Random(System.currentTimeMillis());
                                        intRd = Math.abs(rdm.nextInt())%32+1;
                                        for(int i=0;i<count;i++){
                                            if(intRet[i]==intRd){
                                                flag = 1;
                                                break;
                                            }else{
                                                flag = 0;
                                            }
                                        }
                                        if(flag==0){
                                            intRet[count] = intRd;
                                            count++;
                                        }
                               }
                              for(int t=0;t<6;t++){
                                  System.out.println(t+"->"+intRet[t]);
                              }
                           }
                        }

             

            posted on 2010-12-19 00:56 luis 閱讀(998) 評論(0)  編輯 收藏 引用 所屬分類: 格式.輸入輸出.數據類型
            <2012年11月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            友情鏈接

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产成人精品三上悠亚久久| 国产精品亚洲美女久久久| yy6080久久| 亚洲∧v久久久无码精品| 99久久国产综合精品麻豆| 久久久久18| 久久久久无码精品国产| 精品久久久久久无码中文字幕| 午夜精品久久久久9999高清| 久久精品无码专区免费东京热| a级毛片无码兔费真人久久| 中文字幕无码久久精品青草| 国产成人精品白浆久久69| 久久亚洲av无码精品浪潮| 久久精品蜜芽亚洲国产AV| 人妻丰满?V无码久久不卡| 国产精品久久成人影院| 久久综合亚洲色HEZYO社区 | 久久人人妻人人爽人人爽| 99久久精品无码一区二区毛片 | 精品伊人久久久| 久久精品成人免费网站| 亚洲伊人久久精品影院| 一本色综合久久| 久久综合一区二区无码| 亚洲天堂久久精品| 日本一区精品久久久久影院| 久久久婷婷五月亚洲97号色| 影音先锋女人AV鲁色资源网久久 | 性欧美大战久久久久久久| 99久久精品国产一区二区| AV狠狠色丁香婷婷综合久久| 久久亚洲AV成人无码电影| 免费久久人人爽人人爽av| 久久婷婷五月综合国产尤物app | 精品国产综合区久久久久久 | 午夜精品久久久久久中宇| 狠狠色婷婷久久一区二区| 综合久久国产九一剧情麻豆| 亚洲午夜精品久久久久久浪潮| 久久久久久久免费视频|