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

java 字符串转运算 java字符串转换成算式_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();	}
}