2010-09-29 20 views

Odpowiedz

16

To nie jest dokładnie android specyficzny, ale dość standardowy funkcja będzie:

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

else { 
    // number is odd 
} 
8

Można użyć modular division (technicznie w Javie działa jako operator ścisłej pozostałym związek ma więcej dyskusji):

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

Jeśli tak bitowym iz 1 można wykryć czy najmniej znaczącym bit jest 1. Jeśli tak, to liczba jest parzysta, inaczej parzysta.

W językach C-owski, bool odd = mynum & 1;

Jest szybciej (performance-wise) niż mod, jeśli jest to problemem.

+0

Wouldn Nawet prawda jest prawdziwa, gdy mój jest dziwny? – billjamesdev

+0

Myślę, że to jest wadliwe. Musisz zmienić nazwę zmiennej na nieparzystą. – Anton

+0

@Bill, @Anton - przepraszam, napisałem w niewłaściwym znaczeniu dla wyniku. Myślałem, że edytowałem zanim ktoś mnie złapał ... – mtrw

0

Kiedy jakoś % jako operator nie istnieje, można użyć operatora AND:

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

tak, to był literówka, przepraszam! – thomaspaulb

+0

czy nie powinny to być podwójne cytaty? – st0le

Powiązane problemy