Как сделать номера операторов в строке как int в kotlin

Я хочу создать оператор в строке и показать значение как int.

// бывший:

val str= "1+2*3" , распечатать -> "1+2*3"

// я хочу:

распечатать -> 7

однако я попытался создать код kotlin, например:

val str= "${1+2*3}" или val str= "1+2*3".toInt

но все это не работает.

любая помощь???

Здесь вам понадобится какой-то парсер. Кстати, это 7, а не 9.

Pavel Smirnov 27.03.2019 22:21
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
110
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для этого вам нужно иметь какие-то парсеры.

Несколько примеров

http://mathparser.org/

Преимущество вышеизложенного заключается в том, что вы можете выполнять любые вычисления, как показано ниже.

Expression e = new Expression("( 2 + 3/4 + sin(pi) )/2");
double v = e.calculate()

Или с помощью встроенного в Java Scriptengine.

ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String foo = "1+2*3";
System.out.println(engine.eval(foo)); //prints 7

Другие вопросы по теме