Страницы

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

понедельник, 16 декабря 2019 г.

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

#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

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

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