2

ユーザー入力を修正するコードを書く必要があります。入力は中置形式の数式です。計算を正しく行うには、各オペランドを演算子から離す必要があります。

次の期待される結果を提供するメソッドを書くのを手伝ってくれませんか。

予想される入力: 13*21-5+33 予想される出力: 13 * 21 - 5 + 33

私が行った調査: 文字列内のすべての文字の間にスペースを追加する方法しか見つけることができず、2 桁の値を持つ式の計算には機能しません。すなわち: 1 3 * 2 1 - 5 + 3 3. Java で既存の文字列のすべての文字の後にスペースを挿入する方法は?

ありがとう

4

2 に答える 2

1

正規表現を使用して数字を探し、スペースで囲みます。

string.replaceAll("\\d+", " $0 ").trim(); // trim in case numbers are first/last
于 2012-05-11T09:57:31.330 に答える
1

このソリューションは、各演算子の周りの空白を正規化します。

return expr.replaceAll("(?<=\\d)\\s*([-+/*])\\s*(?=\\d)", " $1 ");
于 2012-05-11T09:49:19.647 に答える