2012-02-08 38 views

回答

24

%確實在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; 
} 
+0

謝謝唐,它的工作原理。 – 2012-02-08 22:47:15

+0

@don roby:這個操作符意味着什麼:返回結果<0?結果+ y:結果;謝謝 – Kenji 2014-02-26 12:22:21

+0

@Kenji - 請參閱[wikipedia on ternary operator?:](http://en.wikipedia.org/wiki/%3F :) – 2014-02-26 12:47:35

8

因爲如果您將-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; 
} 
+0

好的,但是我怎樣才能在Android中獲得mod? – 2012-02-08 22:42:07