1
次の2行のコードがあります。実行する条件文の条件を設定しました。しかし、条件が満たされなくても条件内のプログラムが実行されるため、ロジックに問題があります。Java:条件文のロジックが機能せず、条件が満たされなくてもプログラムを実行できます。
if (!(token.equals('+')) && !(token.equals('-')) && !(token.equals('*')) && !(token.equals('/'))) {
operandStack.push(Integer.valueOf(token));
}
私はjava.lang.NumberFormatExceptionを取得しています:入力文字列の場合: - このコードの2行目に「何でもオペレータ私は私のテストケースに入ることを(+、*、および/)」およびI Integer.valueOf()はシンボルに対しては機能しませんが、それは問題です。シンボルの場合は、最初に実行するべきではありません。私はすべての種類の誤植や愚かな構文ミスを探してみましたが、何も見つかりませんでした。この論理に何が問題なの?
「トークン」とは何ですか?私はそれが「弦」であることを鋭敏にしています。 – azurefrog
'token'は文字列ですか?それを 'char'値と比較しています。 – Blorgbeard
一重引用符を二重引用符で置き換えてください。 – vikarjramun