`
逆天子军少
  • 浏览: 77710 次
  • 性别: Icon_minigender_1
  • 来自: 安庆
社区版块
存档分类
最新评论

得到字符串形式的运算表达式结果

    博客分类:
  • java
 
阅读更多


可能这个对一些人来说不值一提,但对新手应该还算是个惊喜。

import javax.script.*;

public static void main(String[] args) {

ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine se = sem.getEngineByName("js");
try {
System.out.println(se.eval("1+2*(3+5)"));
} catch (ScriptException e) {
e.printStackTrace();
}
}

这个效果是可以直接输出数值的17,也就是从string形式的四则运算得到数字答案。
1
1
分享到:
评论
5 楼 zhidde 2014-08-01  
http://www.ibm.com/developerworks/cn/java/j-lo-jse66/index.html
详细介绍
4 楼 逆天子军少 2014-05-14  
bitray 写道
你这是直接调用了js的引擎,利用js的eval函数了吧?这个java里也有一些el表达式解析组件。而且自己也可以开发一些简单的东西,基于逆波兰表达式的东西。不过你这个不用使用第三方组件。

如果有爱好可以用groovy,和java无缝衔接的。也能实现

恩,学习了
3 楼 逆天子军少 2014-05-14  
mike.liu 写道
是否支持变量、常量?

支持的
2 楼 mike.liu 2014-05-14  
是否支持变量、常量?
1 楼 bitray 2014-05-14  
你这是直接调用了js的引擎,利用js的eval函数了吧?这个java里也有一些el表达式解析组件。而且自己也可以开发一些简单的东西,基于逆波兰表达式的东西。不过你这个不用使用第三方组件。

如果有爱好可以用groovy,和java无缝衔接的。也能实现

相关推荐

Global site tag (gtag.js) - Google Analytics