0

我尝试通过谷歌和这里搜索它,但我没有找到我的意思的问题(搜索引擎不理解我所说的功能的上下文)。

基本上我想做以下事情

double f(String function, double a){
    return function.Function(a);
}

会发生的情况是字符串函数的形式为“x^2+2”,它可能会以某种方式转换为“x.pow(2) + 2”,然后将 x 替换为 a 并返回函数的结果.

是否有任何 Java 类或方法可以执行我所说的(或简单的方法)?或者来自其他来源的任何代码,可以执行我所说的或变体。

我不必编写我所说的代码,我只需要 f(x) 来解决作为输入传递的任何函数字符串的根查找问题。我以为Java会在某个地方有这样的方法,但我找不到。

4

1 回答 1

1

因此,在 Java 中,您有一个基本问题,因为您不能直接将字符串转换为数学表达式。您的选择如下:

  • 搜索可以将特定格式的字符串转换为数学表达式的库。
  • 自己解析字符串。字符串解析很困难且容易出错,而围绕它的 Java 也很困难。
  • 使用 Scala,这将允许您直接组合函数以传递给您的函数,而不是尝试进行从人类可读字符串到机器可解释函数的昂贵转换。请注意,Scala 可以与 Java 互操作,但有一点学习曲线。其他函数式语言也可以处理这个问题,但可能缺乏互操作性。
于 2013-10-10T16:30:03.260 回答