Можно ли строку типа String использовать как математическое выражение?

Есть

String s = "30/2.5";
double d;

Можно ли как-то переменной d присвоить это выражение ?

В некоторых языках, мне сказали, что это можно, а в JAVA можно?


Ответы (1 шт):

Автор решения: lisyara

Если без использования библиотек, например javascript интерпретаторов, то придется разбирать эту строку (распарсить её), самому преобразовать строковые записи операндов в числа (из String в int, "30" -> 30), распознать математические операции и затем, следуя их приоритету выполнить вычисления. Например, можно вычислить выражение с помощью алгоритма Бауэра и Замельзона или алгоритма Рутисхаузера (http://algolist.ru/syntax/parsear.php).

→ Ссылка