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

标签 java function

Possible Duplicate:
free Java library for evaluating math expressions

我想知道Java中是否有一个包可以接受一个字符串,比如“x^2+e^x*cos(x)”,并像计算器一样将其作为给定x值的数学函数来计算会——理想的是免费且公开的。这个存在吗?

最佳答案

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

可能的问题是可用数学函数的范围。您可以期待标准的功能,但可能需要自定义/添加自己的功能以实现更不寻常的功能(cosh 也许?)

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

关于java - Java 中是否有一个可以读取数学函数的包(就像计算器一样)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12292719/

相关文章:

c - 从文件中读取字符串和整数列

java - LibGDX:特殊字符不会显示

java - 将参数传递给 PrimeFaces 星级评分组件?

java - Character可以代表所有的unicode码位吗?

C++打印给定分子和分母的小数

javascript - 每秒调用 javascript 函数

Python - 回文函数 : Receiving error "list indices must be integers or slices, not str"

javascript - 'onblur' 事件,遍历表单的所有字段,不给用户输入数据的机会

java - 我应该能够在 MS Azure Graph API 中看到动态 DL 吗?

java - 错误 : Exception in thread "main" java. lang.ArrayIndexOutOfBoundsException: 0