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. }  

沒有留言:

張貼留言

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...