程式扎記: [ Java代碼範本 ] 按照比例出隨機數的算法

標籤

2010年10月8日 星期五

[ Java代碼範本 ] 按照比例出隨機數的算法

轉載自 這裡 
前言 : 
有1/2/3三個數字,做個取隨機數的算法 
按照30%機率隨機出1 
20%機率隨機出2 
50%機率隨機出3 

範例代碼 : 
* 演算法代碼 : 

  1. public static  int RateRandom(int[] rate,int []value){  
  2.         int total=0;  
  3.         for(int i=0;i
  4.             total+=rate[i];  
  5.         }  
  6.         Random r=new Random();  
  7.         int t=r.nextInt(total);  
  8.         System.out.print(t +"   ");  
  9.         for(int i=0;i
  10.             t=t-rate[i];  
  11.             if(t<0){  
  12.                 return value[i];  
  13.             }  
  14.         }  
  15.         return 0;  
  16.     }  
* 調用代碼 : 
  1. public static void main(String[] args) {  
  2.     int[] x1={3 ,25 };  // 1 會以30%機率出現, 2會以20%機率出現而3會以50%機率出現  
  3.     int[] x2={1 ,23 };  
  4.     for(int i=0;i<100;i++){  
  5.         System.out.println(RateRandom(x1,x2));  
  6.     }  
  7. }  

沒有留言:

張貼留言

網誌存檔

關於我自己

我的相片
Where there is a will, there is a way!