首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java:有没有实用的方法来计算?

Java:有没有实用的方法来计算?
EN

Stack Overflow用户
提问于 2013-05-08 07:19:44
回答 3查看 144关注 0票数 2

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

提前感谢!

EN

回答 3

Stack Overflow用户

发布于 2013-05-08 07:22:44

尝尝这个

代码语言:javascript
运行
复制
    double res = (Double) new ScriptEngineManager().getEngineByName("js").eval("(8-2*7.5)+10");
票数 3
EN

Stack Overflow用户

发布于 2013-05-08 07:22:56

Java1.6中提供Javascript引擎。你可以用它来计算你的数学表达式。

要使用的类有:ScriptEngineManagerScriptEngine

票数 2
EN

Stack Overflow用户

发布于 2013-05-08 07:21:53

几乎可以肯定,在默认情况下不会。这将对应于Java代码的运行时解释(eeek!)或者对嵌入在Java标准库中的一种非常琐碎的算术子语言进行解析和解释。

如果您需要解析和计算这类表达式,我将考虑编写一个简单的递归下降解析器并进行动态计算。一个快速的Google搜索应该建议如何在Java中对这类语言进行搜索。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16434870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档