比如有1000000万个号码(号码会一直增加,其中号码位数有12位,如:000000000001),在这些号码中配对,当对数到达10万对时,进行随机抽奖。当第二次抽奖时(也就是配对数在一次到达10万对时),要把第一次抽中的号码排除在外。一次性抽出:一等奖:1名
二等奖:2名
三等奖:10名
四等奖:50

解决方案 »

  1.   

    使用arraylist放入所有号码
    外部进行第几次抽奖的控制抽出某一个号码后,将此号码从list中移走
      

  2.   

    这么多数据是在数据库中,只要在那个表后面再添一个int型字段
    比如XXX获取了一等奖,则该字段设为1
    二等奖就为2
    以此类推,没有获奖的就设为0
    下次你取的时候只要把该字段为0的数据取出来就可以了
      

  3.   

    方法2;
    把已经获奖过的人的标志(唯一标志)存放起来,
    第二次抽奖的时候先把上次抽中的List取出,放在数组里面,而后按照第一次抽奖那样取抽取获奖者,抽出之后查找上次获奖的List,如果有,不存,继续抽奖,如果没有,存放起来作为本次中奖者。
    ————————
    BTW:
       我没有很好的理解JeeYee (JeeYee) 的意思,可能给出的方法并不能很好的适应。只希望能给你提供一种思路。Good Luck