在java中的散列集中递归添加元素虽然删除了但不起作用

时间:2018-04-04 09:40:08

标签: java hashset

我想我必须解释一下我的情况。我正在为地下城和龙创造一个角色编辑器(我不是书呆子)。在某些地方,玩家被迫选择专长。所以我创建了一个hashset。在递归函数中,我让用户在大量可能的专长中进行选择。然后他们被移除,玩家获得新的壮举。我将给你一个简短的代码示例。

void choosefeats(int no_of_feats,Set<String> feats){
    String[] featobjects = feats.toArray(new String[feats.size()]);
    Feat = (String) JOptionPane.showInputDialog(null, "Choose a feat", 
        "Feats ",
        JOptionPane.DEFAULT_OPTION, 
        null, featobjects, null
    );
    feats.remove(Feat);
    Feats = Feats + "-" + Feat + "\n";
    --no_of_feats;
    switch (Feat) {
        case "Armor Proficiency(Chain)": 
            isprofchain = true;
            if ((strength >= 13) && (constitution >= 13)) {
                feats.add("Armor Proficiency(Scale)");
            };
            break;
        case "Armor Proficiency(Leather)":
            isprofleather = true;
            break;
        case "Armor Proficiency(Hide)":
            isprofhide = true;
            break;
        case "Armor Proficiency(Plate)":
            isprofplate = true;
            break;
        case "Armor Proficiency(Scale)": 
            isprofscale = true;
            if ((strength >= 15)&&(constitution >= 15)) {
                feats.add("Armor Proficiency(Plate)");
            };
            break;          
    }
    if (no_of_feats != 0) {
        choosefeats(no_of_feats, feats);
    } 
    else return;
}

删除专长似乎根本不是问题。但是在switch case语句中添加一些东西似乎不起作用。你能救我吗?

0 个答案:

没有答案