2010-09-29 78 views

Trả lời

16

Nó không phải chính xác android cụ thể, nhưng một chức năng khá tiêu chuẩn sẽ là:

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

else { 
    // number is odd 
} 
8

Bạn có thể sử dụng modular division (về mặt kỹ thuật trong Java nó hoạt động như một nhà điều hành còn lại nghiêm ngặt; liên kết có thảo luận nhiều hơn):

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

Nếu bạn làm một Bitwise-và với 1, bạn có thể phát hiện cho dù bit ít quan trọng nhất là 1. Nếu có, số lẻ, thậm chí nếu không.

Trong ngôn ngữ C-ish, bool odd = mynum & 1;

này nhanh hơn (hiệu suất-khôn ngoan) so với mod, nếu đó là một mối quan tâm.

+0

wouldn thậm chí không đúng khi mynum là lẻ? – billjamesdev

+0

Tôi nghĩ rằng điều này là thiếu sót. Bạn cần đổi tên biến thành lẻ. – Anton

+0

@Bill, @Anton - xin lỗi, tôi đã đăng sai ý nghĩa về kết quả. Tôi nghĩ rằng tôi đã chỉnh sửa trước khi bất cứ ai bắt gặp tôi ... – mtrw

0

Khi bằng cách nào đó % như một nhà điều hành không tồn tại, bạn có thể sử dụng và điều hành:

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

yeah, đó là một lỗi đánh máy, xin lỗi! – thomaspaulb

+0

không nên là dấu ngoặc kép? – st0le

Các vấn đề liên quan