かっこから簡単な数式を分割しようとしています
例: 。(8+(3(2+3)(4-1)))
のような小さな式に分割し(2+3), (4-1), (3*5*3), and finally (8+45)
ます。
ここで式の分割を見てみましたが、Pythonであるため、Javaで実装する方法がわかりません。
誰か助けてくれませんか。
ダイクストラの操車場アルゴリズムが役立つと思います。その目的は、中置記法の式を解くことです。中間結果を取得して、探している式を取得できます。
http://en.wikipedia.org/wiki/Shunting-yard_algorithm
Cのサンプルコードが含まれています。これはJavaに似ているため、役立つはずです。
これを解決するには、算術式ツリーを使用することをお勧めします。私はC#を使用してこれを行いました。興味があれば、メソッドを提供できます。