Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Random;
- public class Test
- {
- static List<ItemData> list = new ArrayList<>();
- static HashMap<ItemData, Integer> count = new HashMap<>();
- static final int times = 200;
- static ItemData broken = new ItemData("一般的魚", 0d);
- static
- {
- list.add(new ItemData("強化碎片", 25d));
- list.add(new ItemData("生命紋章", 2d));
- list.add(new ItemData("能量紋章", 2d));
- list.add(new ItemData("中級生命紋章", 1.5d));
- list.add(new ItemData("中級能量紋章", 1.5d));
- list.add(new ItemData("高級生命紋章", 1d));
- list.add(new ItemData("高級能量紋章", 1d));
- list.add(new ItemData("全效恢復藥劑(★★★★★)", 1d));
- list.add(new ItemData("重鍊石", 1d));
- list.add(new ItemData("防爆卷軸", 1d));
- list.add(new ItemData("冷卻紋章", 0.1));
- list.add(new ItemData("中級冷卻紋章", 0.05));
- list.add(new ItemData("幸運紋章", 0.05));
- list.add(new ItemData("重鍊清除石", 0.01));
- list.add(new ItemData("技能突破石", 0.01));
- list.add(new ItemData("高級冷卻紋章", 0.01));
- list.add(new ItemData("高級幸運紋章", 0.01));
- list.add(new ItemData("重鍊清除石", 0.01));
- list.add(new ItemData("技能突破石", 0.01));
- for (ItemData data : list)
- {
- count.put(data, 0);
- }
- count.put(broken, 0);
- }
- public static void main(String[] args)
- {
- boolean b = false;
- for (int i = 0; i <= times; i++)
- {
- for (ItemData data : list)
- {
- if (chancePercent(data.getChance()))
- {
- b = true;
- count.put(data, count.get(data)+1);
- break;
- }
- else continue;
- }
- if (!b)
- count.put(broken, count.get(broken)+1);
- b = false;
- }
- System.out.println("統計數量: " + times);
- System.out.println("統計結果: ");
- System.out.println("一般的魚: " + count.get(broken));
- for (ItemData pd : list)
- {
- System.out.println(pd.getName() + ": " + count.get(pd));
- }
- }
- public static final boolean chancePercent(double d){
- if (d >= 100)
- return true;
- else if (d <= 0)
- return false;
- return (new Random().nextInt(10000) <= (int) (d * 100) - 1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement