2010-09-29 80 views

回答

16

這不完全的Android特有的,但一個相當標準的功能是:

boolean isOdd(int val) { return (val & 0x01) != 0; } 
33
if ((n % 2) == 0) { 
    // number is even 
} 

else { 
    // number is odd 
} 
8

您可以使用modular division(技術上在Java中它作爲一個嚴格餘運算符,鏈接有更多的討論):

if ((n % 2) == 0) { 
    //Is even 
} else { 
    //Is odd 
} 
4

如果你做一個按位與1,可以檢測是否最低有效位是1.如果是,則數字爲奇數,否則爲偶數。

在C-ISH語言,bool odd = mynum & 1;

這是更快(性能明智)比mod,如果這是一個問題。

+0

止跌當mynum很奇怪時,甚至不會這樣嗎? – billjamesdev 2010-09-29 21:06:37

+0

我認爲這是有缺陷的。您需要將您的變量重命名爲奇數。 – Anton 2010-09-29 21:16:18

+0

@Bill,@Anton - 抱歉,我發佈的結果錯誤。我以爲我編輯之前有人抓到我... – mtrw 2010-09-29 21:20:55

0

在某種程度上%作爲一個經營者不存在,你可以使用AND運算符:

oddness = (n & 1) ? 'odd' : 'even' 
+0

是的,這是一個錯字,對不起! – thomaspaulb 2010-09-29 21:35:35

+0

不應該是雙引號? – st0le 2010-10-01 12:04:26