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 に答える