21

説明: compareChar は true または false を返します。true の場合はボタンの値を設定し、false の場合は何もしません。

私は使用しようとしています:

if compareChar(curChar, toChar("0")) ? getButtons().get(i).setText("§");

netbeans は次のように言っています。

')' を除く
':' を除く

これらの組み合わせを試しました:

if compareChar(curChar, toChar("0")) ? getButtons().get(i).setText("§");
if compareChar(curChar, toChar("0")) ? getButtons().get(i).setText("§") : ;
if compareChar(curChar, toChar("0")) ? getButtons().get(i).setText("§") : 

if (compareChar(curChar, toChar("0"))) ? getButtons().get(i).setText("§");
if (compareChar(curChar, toChar("0"))) ? getButtons().get(i).setText("§") : ;
if (compareChar(curChar, toChar("0"))) ? getButtons().get(i).setText("§") : 
4

6 に答える 6

88

構文は次のとおりです。

"your condition"? "step if true":"step if condition fails"
于 2013-03-17T12:32:07.317 に答える
31

三項演算子は値を返すためのものです。フロー制御? :に使用する場合は使用しないでください。if

if (compareChar(curChar, toChar("0"))) getButtons().get(i).setText("§");

十分に機能します。

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html

于 2013-03-17T12:30:12.303 に答える
1
cond? statementA: statementB

以下に等しい:

if (cond)
    statementA
else
    statementB

あなたの場合、すべての「if」を削除するだけです。?: の代わりに if-else を完全に使用する場合。それらを一緒に混ぜないでください。

于 2013-03-17T12:30:56.403 に答える