我对Java并不陌生,但我还在学习 . 我也是一个Minecraft编码器,即将创建一个新的服务器,自定义编码,具有称为投注的功能 . 基本上它就像一个累积奖金投票,你输入一定数量的物品,根据你的 Value ,你获得一个百分比回报你的获胜机会 . 到目前为止,我已经计算出百分比计算,但我无法弄清楚如何根据百分比选择胜利者 . 我搜索了一些地方,但我认为它与Hashs有关 . 我有几个网站用于演示
CSGOJackpot.com
CSGOShuffle.com
CSGOBuddy.com
^^^^^这些是我想弄清楚的例子 .
这是我计算百分比的公式代码:
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 JackpotEntrys = new HashMap();
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 keys = JackpotEntrys.keySet();
for (Iterator 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 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 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;
}
}
无论如何,如果有什么我应该研究如何实现这一点请评论 . 如果有什么我做错了,我很抱歉 .
谢谢!