/** * 指定した確率でtrueが返ってきます */ public class Probability { /** * 指定した確率でtrueが返ってきます * @param pa 確率 * @return 真偽値 */ public static boolean probability(int pa){ if(pa>=100){ return true; }else if(pa<=0){ return false; }else{ int r = new java.util.Random().nextInt(100); return r<=pa-1; } } }
2件の回答
評価
0
ちゃんと機能しているようですね。
public class Test { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); int[] counter = new int[101]; for (int i = 0; i <= 100; i++) { for (int j = 0; j < 100000; j++) { if (Probability.probability(i)) { counter[i]++; } } sb.append(i).append(":").append(counter[i]).append("\n"); } System.out.println(sb); } }