编写一个返回yes n%次的方法

时间:2013-05-30 07:39:24

标签: java algorithm percentage

我们有一个writePercent变量。我们需要一个返回yes或no的方法。

例如:

writePercent=30;

doWrite= doReadOrWrite(writePercent);

if(doWrite){

      //doWrite

}else{

      //do read

}

我们需要一个doReadOrWrite()方法的实现,它只返回30%的时间,即我们得到30%的写入和70%的读取。 提前谢谢。

2 个答案:

答案 0 :(得分:4)

一种可能的解决方案是:

boolean doReadOrWrite (int writePercent) {
  Random randomGenerator = new Random();
  int randomInt = randomGenerator.nextInt(100);
  return randomInt <= writePercent;
}

所以你将有 writePercent 返回 true的概率

答案 1 :(得分:0)

使用java.util.Random,这应该可以完成这项工作:

boolean doReadOrWrite(int param) {

   Random rand = new Random();

   if (rand.nextInt(100) <= param) {
       return true;
   } else {
       return false;
   }
}