#java
Дело в том, что мне нужно решить задачи, у которых тип данных String Например: String bla = "5 + 10 - 5"; SystemOutPrintln(Integer.parseInt(bla)); Мне нужно получить ответ, например 10. Но, вариант выше выведет ошибку, так как символы + и - не являются целыми числами. Как можно решить такого рода задачи, или есть другие варианты, буду признателен за дельные советы?
Ответы
Ответ 1
Возможно несколько вариантов решения: Написать свой интерпретатор Подключить готовый интерпретатор, например exp4j Подключить ScriptEngine, например JavaScript (вариант использования https://stackoverflow.com/a/3423360/690987) Преобразовать выражение в java-код (на лету), скомпилировать и выполнить его Сгенерировать байт-код, используя библиотеку генерации байт-кода, и выполнить его, например Byte Buddy
Комментариев нет:
Отправить комментарий