Java中是否有读取数学函数的包(就像计算器一样)?

Java中是否有读取数学函数的包(就像计算器一样)?,java,function,Java,Function,可能重复: 我想知道Java中是否有一个包可以接受字符串,比如x^2+e^x*cosx,并将其作为一个给定x值的数学函数进行计算,就像计算器一样——理想情况下是一个免费且公开的包。这是否存在?有很多-这是一个相当简单和常见的解析器编写练习,所以很多人都尝试过并发布了一些代码。例如,见: 可能的问题是可用数学函数的范围。您可以期待标准功能,但可能需要为更不寻常的功能定制/添加您自己的功能 另一种选择是嵌入语言解释器,例如进行计算。这有点重,意味着您需要更加意识到安全风险,例如,如果代码可能在服务

可能重复:


我想知道Java中是否有一个包可以接受字符串,比如x^2+e^x*cosx,并将其作为一个给定x值的数学函数进行计算,就像计算器一样——理想情况下是一个免费且公开的包。这是否存在?

有很多-这是一个相当简单和常见的解析器编写练习,所以很多人都尝试过并发布了一些代码。例如,见:

可能的问题是可用数学函数的范围。您可以期待标准功能,但可能需要为更不寻常的功能定制/添加您自己的功能

另一种选择是嵌入语言解释器,例如进行计算。这有点重,意味着您需要更加意识到安全风险,例如,如果代码可能在服务器上运行,但如果您对脚本有更广泛的需求,则可能有意义。

这可能会有所帮助:-这也是google:java字符串Math的一种使用方法。有关示例,请参见@Thilo指出,如果涉及直接用户输入,我会小心使用ScriptEngine。定制的数学库可能更好。