2011-10-18 7 views
4

このようなことはこれまで可能ですか?3つの整数値を比較する

if(a == b == c) 

または

if((a== b) && (b == c)) 

が唯一の方法ですか?

またはそれを行うためのクールな方法は何ですか?

答えて

6

は、いくつかの言語では、その速記を使用することができます。例えば、Python a == b == cは、式a == b and b == cにほぼ等しいですが、bは1回だけ評価されます。

ただし、JavaとJavascriptではにはを使用できません。第2の例のように書く必要があります。最初の例は、次のようにほぼ等しくなります。

boolean temp = (a == b); 
if (temp == c) { 
    // ... 
} 

これはあなたの望むものではありません。 Javaのa == b == cは、cがブール値でない限りコンパイルされません。 JavaScriptで

1

- 私たちは==ショートカット演算子を持っていません。私たちは個々の平等を成し遂げることになります。

しかし、が多くの機能を必要とすると思われる場合は、個の引数を変更して、このような関数を実装することを検討します。以下は、例外条件を処理しないサンプルコードです。

public static boolean areTheyEqual(int... a) { 
     int VALUE = a[0]; 
     for(int i: a) { 
      if(i!= VALUE) 
       return false; 
     }  
     return true; 
    } 
-3

3つの数字、1つのライン方式のうちの最大値を取得するには:

int型の最大値=(A> B & &> C)? a :((b> a & & b> c)?b:c);

関連する問題