-1

Javaで電卓を構築しようとしています。それを構築するには、各整数を配列に分割する必要があります。を使用して、「+」記号の前後の各整数を分割しsplit("\\+")ました。

しかし、他のオペレーターはどうですか?「+」を使用中に「-」、「/」、「*」を使用できますか?

4

3 に答える 3

2

さて、あなたの当面の質問に答えるために(あなたはいくつかの演算子をでエスケープする必要があります\\):

"1+2-3/4".split("[+\\-*/]")

ただし、これにより演算子が破棄されるため、より高度なものが必要になります。また、浮動小数点数をサポートすることもできます。最後になりましたが、解析が完了したら、演算子の優先順位について覚えておいてください。

于 2012-11-28T17:31:28.627 に答える
0

この場合、使用できます

for(char ch : "1+2-3/4".toCharArray()) {
    System.out.println(ch);
}

複数桁の数値と負の数値が必要な場合は、単純なパーサーを作成する必要があります。-1+-2

過去に、列挙型ベースのステート マシンを使用してテストを解析しました。トークンのストリームを取得したら、優先ルールを作成できます。

于 2012-11-28T17:34:09.193 に答える