今天想到要像游戏中合成宝石的成功率这个东西,就想用Java写一个实现成功率的方法。
首先Java提供了一个类java.unit.Random用来产生随机数。
先按照15%的概率为true来写一个产生方法。
import java.util.Random;
import org.junit.Test;
public class Demo1 {
public void getChance(){
Random random = new Random();
int i = random.nextInt(99);
if(i>=0&&i<15)
System.out.println("true");
else
System.out.println("false");
}
@Test
public void test(){
for(int i=0;i<10;i++){
this.getChance();
}
}
}
返回结果为
true
false
false
true
false
false
false
false
false
false
结果基本符合,现在可以改写为概率为外界输入
import java.util.Random;
import org.junit.Test;
public class Demo1 {
public void getChance(int percentage){
Random random = new Random();
int i = random.nextInt(99);
if(i>=0&&i<percentage)
System.out.println("true");
else
System.out.println("false");
}
@Test
public void test(){
for(int i=0;i<100;i++){
this.getChance(76);
}
}
}