java将字符串转成算术表达式

 一般涉及算都会用到配置,在后台进行配置,但是基本上会纠结于怎么传值进去并进行判断输出数据

package com.study.day01;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class ExpressTest {

public static void test1() throws ScriptException {
//str是数据库里定义的一个公式
String str = "x<=1?5:x<=2?10:x<=5?15:20";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
//键值对的形式,将(7),这里的7是一个常量,但是项目中这个数值是一个变量
engine.put("x", 7);
Object result = engine.eval(str);
System.out.println("结果类型:" + result.getClass().getName() + ",计算结果:"
+ result);
}

public static void main(String[] args) throws ScriptException {
test1();

}
}

posted @ 2016-07-07 16:37  超级潜力果  阅读(1626)  评论(0编辑  收藏  举报