2011-06-21 16 views
3

私には簡単な質問があります。私はJavaの三項演算子を使用しようとしています。私はAndroidとjavaに新しいです。このコードは私にエラーを与える:Androidで動作しない3進演算子

だから、
amt < 0 ? lendBtn.setChecked(true) : lendBtn.setChecked(false); 

"Syntax error on token "<", invalid AssignmentOperator" 

、私はif文と交換し、それは完全に動作します:

if (amt < 0) { ... } 

それは大したことではないのですが、誰もがなぜ知っているのですか?

+1

文脈のために、周囲のコードを投稿してください。 –

+0

@Oli。ありがとう、しかしジョンはすでに答えを出しました! +1 – okysabeni

+0

値はどこに割り当てられていますか? – midhunhk

答えて

16

これはAndroidとは関係ありません。条件式を単独のステートメントとして使用することはできません。また、2番目と3番目のオペランドは、式も無効にすることはできません。

あなたが使用する必要があります

lendBtn.setChecked(amt < 0); 

...で開始することが簡単です。

+0

"条件文を単独で使用することはできません"。私は何かにそれを設定しなければならないのですか?何か本当ですか? "はい・いいえ"。それは私が何かにそれを割り当てると、エラーが消えているように見える – okysabeni

+0

@はい:はい、またはそれをメソッド呼び出し内の引数、またはそのようなものとして使用します。それがどのように使用するように設計されているのです。あなたが呼び出すメソッドを変更しようとしているのであれば、メソッド引数の中の条件を(私の答えごとに)使うか、それが不適切なときは単に 'if'ステートメントを使います。 –

関連する問題