私が得る-2代わり4の。アンドロイド:私は</p> <pre><code>int a=(-2)%6 </code></pre> <p>をしようとする剰余のための演算子(%は、負の数では動作しません)
なぜこのように負の数で動作しますか?
私が得る-2代わり4の。アンドロイド:私は</p> <pre><code>int a=(-2)%6 </code></pre> <p>をしようとする剰余のための演算子(%は、負の数では動作しません)
なぜこのように負の数で動作しますか?
%
は、Javaで剰余演算を行います。
適切な係数を取得するには、機能に残りを使用することができます。
それはサインフィックスアップを行うために三項演算子を使って最短だが:三元を好きではない人のために
private int mod(int x, int y)
{
int result = x % y;
return result < 0? result + y : result;
}
これは同等です:
private int mod(int x, int y)
{
int result = x % y;
if (result < 0)
result += y;
return result;
}
-2を6で割った場合、-2が剰余となるためです。 %演算子は以下のように余りを与えます。
int remainder = 7 % 3; // will give 1
int remainder2 = 6 % 2; // will give 0
は剰余を取得するには:
// gives m (mod n)
public int modulo(int m, int n){
int mod = m % n ;
return (mod < 0) ? mod + n : mod;
}
[OK]をクリックしてAndroidでmodを取得しますか? –
ありがとう、ドン、それは動作します。 –
@don roby:この演算子が意味するもの:return result <0?結果+ y:結果;ありがとう – Kenji
@Kenji - [三項演算子のwikipedia?](http://en.wikipedia.org/wiki/%3F :) –