Допустим, у меня есть метод, который объявлен следующим образом:Включить строку в математическое выражение?
public double Calc(String expression) {
// Code
}
Я хочу взять выражение типа String, как
"2 + 4 - (3 * 4)"
Затем кормить его Calc()
и она должна возвращать значение, которое он получает.
Можете ли вы проанализировать математическое выражение из строки, чтобы оно стало выражением, которое может понять Java? Потому что обычно вы могли бы просто написать
return 2 + 4 - (3 * 4);
Но это будет работать только для этого единственного выражения.
Взгляните на это: http://stackoverflow.com/questions/2605032/using-eval-in-java –
Чтобы свернуть свой собственный вы обычно используете выражение дерева Http: //en.wikipedia .org/wiki/Binary_expression_tree –
@beto Но кажется, что, делая это, вы открываете весь движок JS только для этого. Полагаю, хотя это дало мне подсказку. Благодаря! – OmniOwl