0

算術式をスペースでどのように区切りますか。たとえば、この式 22+(33*1) があります。22 + ( 33 * 1 ) のように、同じ文字列内の演算子間でスペースを使用して分割したい (文字列を返す) StringTokenizer を使用する方法

4

3 に答える 3

1

あなたのルールはあなたが思っているよりも簡単です。おそらく正しいJava:

expr = expr.replaceAll('+', ' + ')
           .replaceAll('-', ' - ')
           .replaceAll(')', ' ) ')
           //etc
           .replaceAll(' ', '  '); //remove any double spaces added.
于 2012-11-23T00:06:42.623 に答える
0

それは簡単ではありません。式を解析し、トークンのツリーを構築する必要があります。あなたは最終的にパーサーのように振る舞います。次に、式を再作成し、各要素の間にスペースを挿入します。
構文解析式を検索してみてください

于 2012-11-23T00:02:45.447 に答える
0

複数のString.replaceAllステートメントを使用して、演算子を演算子とスペースで置き換えることができます。

于 2012-11-23T00:06:40.597 に答える