如何在一行中计算用户输入,例如:23.5 + 3 *23? 我尝试了很多方法来循环输入,但找不到任何有效的方法来将数字与给定的运算符分开。 PEMDAS 可以忽略。
答案 0 :(得分:0)
对于一些简单的评估,您可以使用 java 脚本引擎。
示例:
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
public class HelloWorld{
public static void main(String []args) throws Exception{
ScriptEngine engine = new ScriptEngineManager().getEngineByName("js");
Double result = (Double) engine.eval("23.5 + 3 *23");
System.out.println(result);
}
}
但是用户也可以执行各种java的东西,你应该检查你的表达式是否是数学公式。
可以在 here 中找到更多解决方案。