DD84 DD84 - 2 years ago 92
Java Question

Replace String values with value in Hash Map

I'm new to Java Programming. I have created a hash map that contains my Key Value pairs to utilize in replacing user input with the value corresponding to the respective key.


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"));

I am using this in a formula evaluation

Note: Users are given a certain formula specific way of entry (value1 + value2 + value3)

I'm taking that (value1 value2 value3) and converting it to (value1key value2key value3key)


The Question as I understand it better now was meant to be to help better understand how to utilize a hashmap in order to evaluate user input. The more clear question would be

What would be the best approach to evaluate an expression i.e.

User Input = "var1 + var2"

Expected Value: valueOf(var1) + valueOf(var2)


Answer Source
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;


Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download