Java程序将数学字符串转换为int
若要将数学字符串计算为int,请使用Java中的NashornJavaScript(即脚本)。Nashorn调用Java7中引入的动态功能以提高性能。
要编写脚本,请对引擎使用ScriptEngineManager类:
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("nashorn");现在,用于put()在ScriptEngine的状态下设置键/值对:
scriptEngine.put("one", 10);
scriptEngine.put("two", 50);
scriptEngine.put("three", 40);现在,这是数学字符串。使用eval评估:
String strExp = "(one + two - three) == 20"; Object evalExp = scriptEngine.eval(strExp);
示例
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Demo {
public static void main(String[] args) {
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("nashorn");
scriptEngine.put("one", 10);
scriptEngine.put("two", 50);
scriptEngine.put("three", 40);
try {
String strExp = "(one + two - three) == 20";
Object evalExp = scriptEngine.eval(strExp);
System.out.println("Is "+strExp + " ? " + evalExp);
} catch (ScriptException se) {
se.printStackTrace();
}
}
}输出结果
Is (one + two - three) == 20 ? true
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短