Java:有没有一些实用的方法来计算

时间:2013-05-08 07:19:45

标签: java

现在我有一个String lam = "(8-2*7.5)+10",那么有没有方法或类来计算字符串表达式并且直接返回结果

提前致谢!

3 个答案:

答案 0 :(得分:3)

试试这个

    double res = (Double) new ScriptEngineManager().getEngineByName("js").eval("(8-2*7.5)+10");

答案 1 :(得分:2)

java 1.6提供了Javascript引擎。您可以使用它来计算数学表达式。

要使用的条款是:ScriptEngineManagerScriptEngine

答案 2 :(得分:1)

几乎肯定不会默认。这将对应于Java代码(eeek!)的运行时解释,或者是Java标准库中嵌入的相当简单的算术子语言的解析和解释机制。

如果你需要解析和评估这种表达式,我会考虑编写一个简单的递归下降解析器并进行即时评估。快速谷歌搜索应该建议在Java中使用这种语言来实现这种方式。