如何计算用户输入字符串? (爪哇)

时间:2021-04-25 19:25:45

标签: java math operation

如何在一行中计算用户输入,例如:23.5 + 3 *23? 我尝试了很多方法来循环输入,但找不到任何有效的方法来将数字与给定的运算符分开。 PEMDAS 可以忽略。

1 个答案:

答案 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 中找到更多解决方案。