Live2D

JAVA 字符串改成表达式

直接附上代码,可以将输入的表达式参数的替换成自己变量的值

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Main {        
        public static void compres() throws ScriptException {
            int a=1,b=2,c=3,d=4,e=5;
            String model="a+(b+c)/(d*e)";
            model=model.replace("a",String.valueOf(a));
            model=model.replace("b",String.valueOf(b));
            model=model.replace("c",String.valueOf(c));
            model=model.replace("d",String.valueOf(d));
            model=model.replace("e",String.valueOf(e));
            System.out.println(model);
            ScriptEngineManager manager = new ScriptEngineManager();
            ScriptEngine engine = manager.getEngineByName("js");
            Object result = engine.eval(model);
            System.out.println("结果类型:" + result.getClass().getName() + ",计算结果:" + result);
        }
        
        public static void main(String[] args) throws ScriptException {
            compres();
            
    }

}

 

posted @ 2020-03-18 16:18  丁丁丁冲鸭丶  阅读(572)  评论(0)    收藏  举报