6

私はJavaプログラミングが初めてです。ユーザー入力をそれぞれのキーに対応する値に置き換える際に使用するキーと値のペアを含むハッシュ マップを作成しました。

すなわち

        HashMap<String,String> questionKey = new HashMap<>();             

         for (item : itemSet()) {
             questionKey.put(String.valueOf(item.getOrder()+1), item.getKey());                                
         }                    
        String list = commandObject.getObjectItem().getList();

        if (list.contains("q")){                
            list.replaceAll("q01", questionKey.get("1"));               
            commandObject.getObjectItem().setList(list);
        }             

これを式の評価で使用しています

: ユーザーには特定の数式固有の入力方法 (値 1 + 値 2 + 値 3) が与えられます。

私はそれを (value1 value2 value3) 取り、 (value1key value2key value3key) に変換しています

アップデート:

私が今理解している質問は、ユーザー入力を評価するためにハッシュマップを利用する方法をよりよく理解するのに役立つことを目的としていました。より明確な質問は

式を評価するための最良のアプローチは何でしょう

ユーザー入力 = "var1 + var2"

期待値: valueOf(var1) + valueOf(var2)

?

4

3 に答える 3

2
import java.util.HashMap;

class Program
{
    public static void main(String[] args)
    {
        String pattern = "Q01 + Q02";
        String result = "";

        HashMap<String, String> vals = new HashMap<>();

        vals.put("Q01", "123");
        vals.put("Q02", "123");

        for(HashMap.Entry<String, String> val : vals.entrySet())
        {
            result = pattern.replace(val.getKey(), val.getValue());
            pattern = result;
        }

        System.out.println(result);

    }
}
于 2013-09-04T17:11:35.260 に答える