import java.util.ArrayList;
import java.util.Random;
-public class MathHelperPlus {
-
- public static Random rand = new Random();
+public class MathHelperPlus
+{
/**
* Return probability(0~).
*/
- public static int probability(double... par1) {
+ public static int probability(double... par1)
+ {
ArrayList<Double> var1 = new ArrayList<Double>();
- for (int var2 = 0; var2 < par1.length; var2++) {
+ for (int var2 = 0; var2 < par1.length; var2++){
var1.add(par1[var2]);
}
return probability(var1);
}
- public static int probability(ArrayList<Double> par1) {
- for (int i = 0; i < par1.size(); i++) {
- double var1 = par1.get(i) / 100;
- double var2 = Math.random();
- if (var1 <= var2) {
- return i;
+ public static int probability(ArrayList<Double> par1)
+ {
+ Random var2 = new Random();
+ int var3 = var2.nextInt(100);
+ double var4 = 0.0D;
+
+ for (int var5 = 0; var5 < par1.size(); var5++) {
+ var4 += par1.get(var5);
+ }
+
+ ArrayList<Double> var6 = new ArrayList<Double>();
+ for (int var7 = 0; var7 < par1.size(); var7++) {
+ var6.add(par1.get(var7) / var4 * 100);
+ }
+
+ double var8 = 0.0D;
+ for (int var9 = 0; var9 < var6.size(); var9++) {
+ if (var3 < var6.get(var9) + var8) {
+ return var9;
} else {
- continue;
+ var8 += var6.get(var9);
}
}
return -1;