height[left] < height[right]? left++ : right--;
if/else文を置き換えるために、上記の構文を使用したいと思います。私はそれが続くと思います(条件)? doX():doY()でも間違っています。このJava構文で何が問題になっていますか?
ありがとうございました!
height[left] < height[right]? left++ : right--;
if/else文を置き換えるために、上記の構文を使用したいと思います。私はそれが続くと思います(条件)? doX():doY()でも間違っています。このJava構文で何が問題になっていますか?
ありがとうございました!
三項演算子は、表現、ない声明です。式の結果を何にも割り当てていないので、コンパイラはそれを気に入らない。あなたが文としてこれを意味する場合
、三項演算子の代わりにif
を使用します。
if (height[left] < height[right]) {
left++;
} else {
right--;
}
@ĐăngKhoaHuỳnhなぜですか?結果がメソッドの戻り値でなければならないかどうかはわかりませんが、質問にそのことが示されていません。 – Jesper
ああ、申し訳ありませんが、私は同じケースとして三項演算子のために 'if'を使っていると思います。 –
操作が何かに値を代入されていません...
三項演算は、リターン
int a=0;
int b=0;
int left=0;
int right=0;
int pos=0;
pos = a < b? left++ : right--;
を三項演算の結果として
あなたの場合、変数が欠落している++またはright--割り当てられる予定:
??? = height[left] < height[right]? left++ : right--;
あなたは私達にあなたのコードのコンテキストで、この三元発現を示すことはできますか? –