我对Java并不陌生,但我还在学习。我也是一个Minecraft编码器,即将创建一个新的服务器,自定义编码,具有称为投注的功能。基本上它就像一个累积奖金投票,你输入一定数量的物品,并根据你的价值,你获得一个百分比回报你的获胜机会。到目前为止,我已经计算出百分比计算,但我无法弄清楚如何根据百分比选择胜出者。我搜索了一些地方,但我认为它与Hashs有关。我有几个网站进行演示
^^^^^这些是我想要弄清楚的例子。
这是我计算百分比的公式代码:
package com.test;
import java.text.DecimalFormat;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class Main {
static HashMap<String, Double> JackpotEntrys = new HashMap<String, Double>();
public static void main(String[] args) {
JackpotEntrys.put("mrgreen33gamer", 6043.54);
JackpotEntrys.put("XeneonHD", 270.54);
JackpotEntrys.put("BadBoyBaldSpot", 760.01);
JackpotEntrys.put("Kingcreeper7", 400.31);
Set<String> keys = JackpotEntrys.keySet();
for (Iterator<String> i = keys.iterator(); i.hasNext(); ){
String key = (String) i.next();
Double value = (Double) JackpotEntrys.get(key);
System.out.println(key + " has a probability of %" + probabilityCal(value));
}
Collection<Double> values = JackpotEntrys.values();
int Total = 0;
for (Double value : values) {
Total += value;
}
System.out.println("Jackpot was totalled at: " + Total);
}
public static double probabilityCal(double PlayerDepot) {
Collection<Double> values = JackpotEntrys.values();
int Total = 0;
for (Double value : values) {
Total += value;
}
double percentage = (double) ((PlayerDepot * 100) / Total);
DecimalFormat df = new DecimalFormat("#.##");
double finalPercentage = Double.parseDouble(df.format(percentage));
return finalPercentage;
}
}
无论如何,如果有什么我应该研究如何实现这一点请评论。如果有什么我做错了,我很抱歉。
谢谢!