Передача аргументов mXparser с использованием HashMap - PullRequest
0 голосов
/ 14 апреля 2020

Я пытался играть с mXparser. Интересно, можно ли передать аргументы через HashMap или любую другую структуру данных пары ключ-значение.

public static HashMap<String, Double> getArguments(){       
        HashMap<String, Double> hm = new HashMap<String, Double>();
        hm.put("lendingRate", 3.0);
        hm.put("borrowingRate", 5.0);       

        return hm;              
    }

expressionParser - это простая операция на основе mXparser. Аргументы можно передать, создав их экземпляры отдельно. Если это единственный аргумент, они могут быть переданы через функции. Но, если у нас есть 2 или более expressions, как показано в примере, которые требуют больше аргументов.

public static void expressionParser(HashMap<String, Double> hm) {       
    System.out.println(hm.get("lendingRate"));

    //Argument a = new Argument("lendingRate", 3);
    //Argument b = new Argument("borrowingRate", 5);        

    Expression c = new Expression("lendingRate + 2%", a);
    Expression d = new Expression("borrowingRate + 2", b);
    System.out.println("Answers are \n 1) = " +c.calculate()+ "\n  2) = " + d.calculate());     

}

    public static void main(String[] args) {
        HashMap<String, Double> hm = getArguments();
        expressionParser(hm);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...