Можно ли преобразовать строку в математическую операцию на java?

могу ли я преобразовать строку, как "3*3+3-к математической операции на Яве??

2 ответов


оценить это как JavaScript с помощью ScriptEngine

String xyz = "3*3+3";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine se = manager.getEngineByName("JavaScript");        
Object result = se.eval(xyz);

ссылки: документация


для этого нет встроенной функции, вам придется реализовать парсер. Однако вы также можете найти готовый проект, например: http://sourceforge.net/projects/jep/ или http://code.google.com/p/symja/wiki/MathExpressionParser