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

370
19 ноября 2017, 14:05

Писал я графический калькулятор и пришла идея записать все выражение в String, то есть пользователь набирает кнопками, то что ему нужно решить, к примеру 2313 + 3435 - 53 * 2 и оно все пишется в String text. Есть ли библиотеки которые могут это реализовать, или предложение как это можно сделать?

Как записать в String я знаю, главное это - как решить это уравнение.

Answer 1

Я офигел, когда впервые увидел, что Java умеет в JavaScript)

    ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
    String expression = "6*3+8/2-2.3";
    try {
        float result = Float.valueOf(engine.eval(expression).toString());
        System.out.println(result);
    } catch (ScriptException e) {
        e.printStackTrace();
    } catch (NumberFormatException e) {
        e.printStatckTrace();
    }
READ ALSO
SQLJ в Java (Intellij idea)

SQLJ в Java (Intellij idea)

ЗдравствуйтеПодскажите, какую библиотеку нужно скачать, или нечто подобное, чтобы работал import oracle

217
Можно ли убить GC в JAVA

Можно ли убить GC в JAVA

Я проходил собеседование и интервьювер задал вопрос, можно ли убить GC в JavaНа дополнительный вопрос, должно ли жить приложение он ответил,...

207
Java преобразование типов

Java преобразование типов

как можно строку или набор charов состоящую из 0 и 1 перевести в boolean?Вроде в с++ это было легко сделать,тк

235
Как вывести дату в миллисекундах

Как вывести дату в миллисекундах

Есть text view, как в него вывести дату и время в милли секундах, и можно ли вывести не дату устройства а unix ?

278