-1

入力は、+ 2 3 * 4などの数値と演算子の文字列です。文字列をArrayListオブジェクトに分割し、文字列内の各文字が独自のインデックスを取得します。これが私が持っているものです。

String current;
String s = "+ 2 3 * 4";
List <String> splitter = new ArrayList<String>(Arrays.asList(s.split("\\s+")));
current = splitter.remove(0);

if (current == "+"){
   //do stuff }
else if (current = "-") {
   //do stuff } 
....

ifステートメントが何らかの理由でtrueと評価されていない場合、微妙な何かが欠けているのでしょうか、それともここで完全に間違っているのでしょうか。

助けてくれてありがとう。

4

1 に答える 1

8

では、ifを使用==して文字列を比較しています。String#equals代わりに使用してください。

ではelse、代入演算子=を使用して文字列を比較しています。String#equals代わりに使用してください。

演算子は==、2つの文字列参照を比較して、参照が同じオブジェクトを参照しているかどうかを確認します。これは、必要なものではありません。

于 2013-03-26T23:00:50.807 に答える