Страницы

Поиск по вопросам

суббота, 27 октября 2018 г.

Как посчитать значение выражения, представленного строкой, и вывести его?

Дело в том, что мне нужно решить задачи, у которых тип данных String
Например:
String bla = "5 + 10 - 5"; SystemOutPrintln(Integer.parseInt(bla));
Мне нужно получить ответ, например 10. Но, вариант выше выведет ошибку, так как символы + и - не являются целыми числами.
Как можно решить такого рода задачи, или есть другие варианты, буду признателен за дельные советы?


Ответ

Возможно несколько вариантов решения:
Написать свой интерпретатор Подключить готовый интерпретатор, например exp4j Подключить ScriptEngine, например JavaScript (вариант использования https://stackoverflow.com/a/3423360/690987) Преобразовать выражение в java-код (на лету), скомпилировать и выполнить его Сгенерировать байт-код, используя библиотеку генерации байт-кода, и выполнить его, например Byte Buddy

Комментариев нет:

Отправить комментарий