2010-09-29 10 views

Répondre

16

Ce n'est pas exactement Android spécifique, mais une fonction assez standard serait:

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

else { 
    // number is odd 
} 
8

Vous pouvez utiliser modular division (techniquement en Java, il agit comme un opérateur reste stricte, le lien a plus de discussion):

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

Si vous faites une opération de bits et avec 1, vous pouvez détecter si le bit le moins significatif est 1. Si c'est le cas, le nombre est impair, sinon pair. si c'est une préoccupation

Dans les langues C-ish, bool odd = mynum & 1;

C'est que mod plus rapide (sage-performance),.

+0

wouldn n'est-ce pas vrai quand mynum est bizarre? – billjamesdev

+0

Je pense que c'est défectueux. Vous devez renommer votre variable en impaire. – Anton

+0

@ Bill, @Anton - désolé, j'avais posté avec le mauvais sens pour le résultat. Je pensais que j'avais édité avant que quelqu'un ne m'attrape ... – mtrw

0

Quand une certaine façon % comme un opérateur n'existe pas, vous pouvez utiliser l'opérateur:

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

ouais, c'était une faute de frappe, désolé! – thomaspaulb

+0

ne devrait-il pas être des guillemets doubles? – st0le

Questions connexes