【发布时间】:2013-10-10 16:25:09
【问题描述】:
我尝试通过谷歌和这里搜索它,但我没有找到我的意思的问题(搜索引擎不理解我指的是功能的上下文)。
基本上我想做以下事情
double f(String function, double a){
return function.Function(a);
}
如果字符串函数的形式是“x^2+2”,它可能会以某种方式转换为“x.pow(2) + 2”,然后 x 被 a 替换,结果返回函数。
是否有任何 Java 类或方法可以实现我所说的(或简单的方法)?或者来自其他来源的任何代码,可以执行我所说的操作或变体。
我不必编写我所说的代码,我只需要 f(x) 来解决作为输入传递的任何函数字符串的根查找问题。我以为Java在某个地方会有这样的方法,但我找不到。
【问题讨论】:
-
你需要为数学表达式编写解析器
-
这不是 Java 核心的一部分。您需要一个能够解析您的字符串并对其进行评估的库。搜索“parser”或“equation evaluator”等术语。
-
看看这个library project