这个是之前碰到的一个面试题
这个题目的问题在于输入的是中奖率,返回的却是中奖结果,两者没什么关联,所以其中的中奖判断怎么去实现是个问题。
我的思路:生成一个关键数A,生成一个动态数组B,大小由中奖率决定。例如10%,则数组的大小为10,同时生成10个数。关键数A去数组里走一遍,有则true反之false.
代码我没有跑,大致写了下
public boolean draw4Prize(int percent){ int randomParA =new Randow().nextInt(100)+;//先生成一个100以内的随机数; int [] size=new int(percent); //设置一个组数,假如中奖率为10,即可存放 10 个数; int j=0; for(int i=0;i<percent;i++) { int randomParB =new Randow().nextInt(100); if(randomParB==size[j]) Break; else size[j]=randomParB; j++; } for(int i=0;i<percent;i++) { if (randomparA==size[i]) return true; else return false; } }