有没有办法在Java中将像"10+(8*9)"这样的字符串转换为整数(结果)?我试图通过将字符串解析为字符、循环遍历它们,然后以某种方式尝试获取结果,但这非常复杂,所以我想知道是否有其他更简单的方法。
有没有办法在Java中将像"10+(8*9)"这样的字符串转换为整数(结果)?我试图通过将字符串解析为字符、循环遍历它们,然后以某种方式尝试获取结果,但这非常复杂,所以我想知道是否有其他更简单的方法。
10 8 9 * +
Java拥有内置的javascript引擎,它可以为您评估数学表达式:
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
public class Test {
public static void main(String[] args) throws Exception{
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String expression= "10+(8*9)";
System.out.println(engine.eval(expression));
}
}