當(dāng)柳上原的風(fēng)吹向天際的時(shí)候...

          真正的快樂來源于創(chuàng)造

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
          package com.heyang;

          /**
           * 雙色球搖獎(jiǎng),效率較高,只生成七次隨機(jī)數(shù)
           * 
          @author: 何楊(heyang78@gmail.com)
           * @date: 2009-2-20-下午10:52:55
           
          */

          public class DoubleColorBall2{
              
          public static void main(String[] args){
                  
          for(int j=0;j<1000;j++){
                      
          int[] ballNumbers=getSevenNumbers();        
                      
          for(int i:ballNumbers){
                          System.out.print(i
          +",");
                      }

                      
                      System.out.print(
          "\n");
                  }

              }

              
              
          /**
               * 得到七個(gè)隨機(jī)數(shù)數(shù)組
               * 
          @return
               
          */

              
          public static int[] getSevenNumbers(){
                  
          // 被選擇的原始數(shù)組
                  final int originalArrayLen=33;
                  
          int[] originalArr=new int[originalArrayLen];
                  
                  
          for(int i=0;i<originalArr.length;i++){
                      originalArr[i]
          =i+1;
                  }

                  
                  
          // 要返回的數(shù)組
                  final int arrLength=7;
                  
          int[] arr=new int[arrLength];
                  
                  
          // 選取前六個(gè)(1-33)之間
                  for(int i=0;i<6;i++){
                      
          // 生成選取數(shù)的下標(biāo)
                      int index=getRandomIntergerUnder(originalArrayLen-1-i);
                      
                      
          // 把選出的數(shù)挪到最后一個(gè),以防它被再次選取
                      int temp=originalArr[index];
                      originalArr[index]
          =originalArr[originalArrayLen-1-i];
                      originalArr[originalArrayLen
          -1-i]=temp;
                      
                      
          // 把選出的數(shù)放入要返回的數(shù)組
                      arr[i]=temp;
                  }

                  
                  
          // 最后一個(gè)從1-15中選取
                  arr[6]=getIntgerBetween(15,1);
                  
                  
          return arr;
              }

              
              
          /**
               * 取得小于max的一個(gè)隨機(jī)整數(shù),不包括max
               * 
          @param max
               * 
          @param min
               * 
          @return
               
          */

              
          public static int getRandomIntergerUnder(int max){        
                  
          return (int)(max*Math.random());
              }

              
              
          /**
               * 取得max與min之間的一個(gè)隨機(jī)整數(shù),包括min和max兩值
               * 
          @param max
               * 
          @param min
               * 
          @return
               
          */

              
          public static int getIntgerBetween(int max,int min){
                  
          int interval=max-min;        
                  
                  
          return (int)Math.round((Math.random()*interval))+min;
              }

          }

           

          posted on 2009-02-21 15:25 何楊 閱讀(424) 評論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 高雄市| 沙洋县| 济阳县| 正安县| 山西省| 教育| 阿合奇县| 盱眙县| 吴川市| 茶陵县| 绥中县| 共和县| 噶尔县| 天津市| 济源市| 兰西县| 安丘市| 建平县| 顺义区| 邢台市| 永清县| 静宁县| 乐昌市| 万安县| 方山县| 西藏| 沈丘县| 金平| 南雄市| 平遥县| 天长市| 大田县| 洪雅县| 洪泽县| 张家界市| 温泉县| 罗源县| 永州市| 察隅县| 凯里市| 金秀|