初始化每個機構的概率
按照需求增加或者減少這個概率。最後抽取時:對每一個機構,假如他的概率是x%
從1到100隨機抽一個數字y   y>=1&&y<=x説明被抽中

解决方案 »

  1.   

    如果每次必須抽一條記錄,那麽是無法滿足你的概率要求的。建議方法,初始每個機構初始一個權值:比如100
    舉例:
    三個機構 A 100  B 100 C 100 
    從A B C 中抽一個的方法是 在0到300裏面隨機抽一個數字比如270,那麽就是C被抽中可以根據需求不斷改變ABC的權值
      

  2.   

    那按您的意思该中介机构表中权限的初始值为100%,如有n条记录那就在0到sum(权限字段)之间随机抽取一个数字,那怎么就知道270就是c被确定呢,能否写出具体函数呢?谢谢了
      

  3.   

    確定區間值啊,比如a 1-100 b 101-200  c 201-300
    Random rd=new Random();
    int k=random.nextInt(300)看k 落在哪個區間每個機構的區間需要你自己拼湊阿