#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
Комментариев нет:
Отправить комментарий