失去字符串形式的运算表达式结果
得到字符串形式的运算表达式结果
可能这个对一些人来说不值一提,但对新手应该还算是个惊喜。
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形式的四则运算得到数字答案。
支持的
恩,学习了
可能这个对一些人来说不值一提,但对新手应该还算是个惊喜。
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 楼
bitray
昨天
你这是直接调用了js的引擎,利用js的eval函数了吧?这个java里也有一些el表达式解析组件。而且自己也可以开发一些简单的东西,基于逆波兰表达式的东西。不过你这个不用使用第三方组件。
如果有爱好可以用groovy,和java无缝衔接的。也能实现
如果有爱好可以用groovy,和java无缝衔接的。也能实现
2 楼
mike.liu
昨天
是否支持变量、常量?
3 楼
逆天子军少
18 小时前
mike.liu 写道
是否支持变量、常量?
支持的
4 楼
逆天子军少
18 小时前
bitray 写道
你这是直接调用了js的引擎,利用js的eval函数了吧?这个java里也有一些el表达式解析组件。而且自己也可以开发一些简单的东西,基于逆波兰表达式的东西。不过你这个不用使用第三方组件。
如果有爱好可以用groovy,和java无缝衔接的。也能实现
如果有爱好可以用groovy,和java无缝衔接的。也能实现
恩,学习了