HelloWood

Java 中计算字符串表达式的值

2018-08-25

Java 中计算字符串表达式的值

在 Java 中计算字符串数值表达式可以用 javax.script.ScriptEngine#eval(java.lang.String),通过调用 JavaScript 来计算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class ExpressionCalculate {
public static void main(String[] args) {
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("nashorn");
String expression = "10 * 2 + 6 / (3 - 1)";

try {
String result = String.valueOf(scriptEngine.eval(expression));
System.out.println(result);
} catch (ScriptException e) {
e.printStackTrace();
}
}
}

结果: 23

Tags: Java