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

          真正的快樂(lè)來(lái)源于創(chuàng)造

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

          /**
           * 雙色球搖獎(jiǎng)
           * 
          @author: 何楊(heyang78@gmail.com)
           * @date: 2009-2-20-下午10:52:55
           
          */

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

              }

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

              
          public static int[] getSevenNumbers(){
                  
          final int arrLength=7;
                  
          int[] arr=new int[arrLength];
                  
                  
          // 前六個(gè)從1-33中選取,如有重復(fù)再取一次
                  do{
                      
          for(int i=0;i<=arrLength-2;i++){
                          arr[i]
          =getIntgerBetween(33,1);
                      }

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

              
              
          /**
               * 位圖法判斷整形數(shù)組是否存在重復(fù)
               * 
          @param arr
               * 
          @return
               
          */

              
          public static boolean hasDuplicatedItem(int[] arr){
                  
          // 找出數(shù)組中最大值
                  int max=arr[0];
                  
          int min=max;
                  
          for(int i:arr){
                      
          if(max<i){
                          max
          =i;
                      }

                      
          if(min>i){
                          min
          =i;
                      }

                  }

                  
                  
          int[] newArr=new int[max-min+1];
                  
          for(int i:arr){
                      
          int index=i-min;
                      
                      
          if(newArr[index]==0){
                          
          // 以前未在此位置存值
                          newArr[index]=1;
                      }

                      
          else{
                          
          // 以前已經(jīng)在此位置存值
                          return true;
                      }

                  }
              
                  
                  
          return false;
              }


              
              
          /**
               * 取得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 07:23 何楊 閱讀(299) 評(píng)論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 龙江县| 乐亭县| 获嘉县| 留坝县| 梁平县| 东丽区| 荣昌县| 富源县| 新竹县| 安塞县| 宜良县| 中江县| 视频| 云阳县| 裕民县| 鄂伦春自治旗| 宁南县| 息烽县| 汨罗市| 凉城县| 吴桥县| 宁蒗| 太白县| 阳江市| 多伦县| 新化县| 恩平市| 武义县| 东乡族自治县| 米易县| 彭水| 松溪县| 忻城县| 千阳县| 乳源| 凌源市| 抚顺县| 乾安县| 临沭县| 河源市| 苍山县|