0

文字列の配列「バランス配列」にこの入力「4+4-(4+4+(4+4)))」があります

私はこのコードを実行しようとしています:

String expression = "";
for(int j=2 ; j<balance.length-1 ; j++)
{
     if(!(balance[j].equals("+")) || !(balance[j].equals("-")) || !(balance[j].equals("(")) || !(balance[j].equals(")")))
          expression = expression + balance[j];
}

コードの最後で、expression に「444444」が含まれているはずですが、機能していません。

!.equals と || を使用していますか? 間違った方法で?

|| を使用してこれら 4 つのステートメントを結合したい それらの間の。

4

2 に答える 2

7

||すべてを次のように変更し&&ます。

     if (!balance[j].equals("+") && !balance[j].equals("-") &&
         !balance[j].equals("(") && !balance[j].equals(")"))

また、開始値jとループの終了条件の両方が不確かに見えます。

于 2012-12-10T22:42:40.097 に答える
0

使用する

if(!((balance[j].equals("+")) || (balance[j].equals("-")) || (balance[j].equals("(")) || (balance[j].equals(")"))))

for(int j=0 ; j<=balance.length-1 ; j++)
于 2012-12-10T22:43:33.887 に答える