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();

}
}

原文地址:https://www.cnblogs.com/guojie001/p/5650662.html