import java.util.ArrayList;
import java.util.Random;
-public class MathHelperPlus
-{
+public class MathHelperPlus {
- public static MathHelperPlus instance = new MathHelperPlus();
+ public static Random rand = new Random();
- /**
+ /**
* 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);
+ return probability(var1);
}
- public static int Probability(int... par1)
- {
- ArrayList<Double> var1 = new ArrayList<Double>();
- for (int var2 = 0; var2 < par1.length; var2++){
- var1.add((double)par1[var2]);
- }
- return Probability(var1);
- }
-
- 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;
+ 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;
} else {
- var8 += var6.get(var9);
+ continue;
}
}
- return var3;
+ return -1;
}
}