前言 :
有1/2/3三個數字,做個取隨機數的算法
按照30%機率隨機出1
20%機率隨機出2
50%機率隨機出3
範例代碼 :
* 演算法代碼 :
- public static int RateRandom(int[] rate,int []value){
- int total=0;
- for(int i=0;i
- total+=rate[i];
- }
- Random r=new Random();
- int t=r.nextInt(total);
- System.out.print(t +" ");
- for(int i=0;i
- t=t-rate[i];
- if(t<0){
- return value[i];
- }
- }
- return 0;
- }
- public static void main(String[] args) {
- int[] x1={3 ,2, 5 }; // 1 會以30%機率出現, 2會以20%機率出現而3會以50%機率出現
- int[] x2={1 ,2, 3 };
- for(int i=0;i<100;i++){
- System.out.println(RateRandom(x1,x2));
- }
- }
沒有留言:
張貼留言