ScriptEngineManager factory = new ScriptEngineManager(); ScriptEngine engine = factory.getEngineByName("JavaScript"); System.out.println((Double)engine.eval("(1+1)*5"));用JDK6编译
给你提供一个简单的 String a = ""+(1+1)*5;
1.下载MVEL.它就像javascript中的Eval 2.String a = "(1+1)*5"; int count = MVEL.eval(a);
public static void main(String[] args) { String a = ""+(1+1)*5; System.out.println("a = "+a); }
String a = new Long((1 + 1) * 5).toString(); String a = new Integer((1 + 1) * 5).toString(); String a = new Short((1 + 1) * 5).toString(); String a = new Byte((1 + 1) * 5).toString(); 我想了这么多,你爱用哪个用哪个
楼主【java_2008_4_5】截止到2008-07-11 12:43:11的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:60 每贴平均分数:20
回帖的总数量:3 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:3 结贴的总分数:60
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
eval 一下就行了。具体的去参考JDK6增加的东西
上面的表达式的 意思就是 a= 这样一个字符串 :“(1+1)*5”并不会去计算这个表达式的值 如果你想得到a的值为10的结果 你可以直接这样写String a=(1+1)*5;这样就是计算后的值了
ScriptEngine engine = factory.getEngineByName("JavaScript");
System.out.println((Double)engine.eval("(1+1)*5"));用JDK6编译
String a = ""+(1+1)*5;
2.String a = "(1+1)*5";
int count = MVEL.eval(a);
String a = ""+(1+1)*5;
System.out.println("a = "+a);
}
String a = new Integer((1 + 1) * 5).toString();
String a = new Short((1 + 1) * 5).toString();
String a = new Byte((1 + 1) * 5).toString();
我想了这么多,你爱用哪个用哪个