Как превратить символы ASCII ( '+' '-' '*' '/' '%' ) в операторы Java [дубликат]

145
22 февраля 2018, 13:42

На данный вопрос уже ответили:

  • Вычислить выражение, записанное в String 1 ответ

Собственно вопрос можно ли как то распарсить эти символы в операторы?

Что бы я смог написать:

System.out.println(8 (неизвестнаяМнеМагия('+')) 6);

И получить на выход число 14.

Answer 1

Вот так можно:

int a = 8;
int b = 6;
String[] operators = {"+", "-", "*", "/", "%"};
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
for (String operator : operators){
    Object result = engine.eval(a + operator + b);
    System.out.println(result);
}

Вывод:

14
2
48
1.3333333333333333
2

jdoodle.com/a/nF9

READ ALSO
Предварительная загрузка WebView

Предварительная загрузка WebView

Задача состоит в том, чтобы скрыть от пользователя то, что он переместился на сайт, а соответственно при нажатии определенной кнопки, должна...

127
Деление строки и запись в динамический массив

Деление строки и запись в динамический массив

Начал изучать ArrayList и столкнулся с одной неприятной вещью, деление строки при помощи делителя и дальнейшего помещения в массив с ArrayList не прокатываетИ...

178
Задача на определение полиндромности

Задача на определение полиндромности

Решаю задачку на определение является ли введенное число полиндромомИ не могу понять, почему у меня не работает данный код

120
Проверка результата AJAX

Проверка результата AJAX

Добрый день! не могу разобраться как проверить значение возвращаемое ajaxТиповая задача- авторизация и редирект, сервер в случае удачной авторизации...

165