写在前面:一道有意思的java编程题,解决判断奇数的问题,很简单,转换思维即可
主要的点在:
i % 2 的值
可以是0, -1, 1,三种,这里涉及到java对取余符号%
的定义
例如:
当取余操作返回一个非零的结果时,
它与左操作数具有相同的正负符号。
即 a % b(b!=0) 的结果由 a 决定,
a 是正数则结果为正,a 是负数则结果为负,
所以当 i 是一个负奇数时,i % 2 等于-1而不是1
解决代码如下
public class OddUtil{
public static boolean isOdd(int i){
//i % 2 == -1 和 1 对应奇数, ==0对应偶数
//if判断条件是i % 2 == 1会漏掉 ==-1 的情况
if (i % 2 == 0){
return false;
}
else
return true;
}
public static void main(String[] args){
System.out.println(isOdd(-5));//True
System.out.println(isOdd(0));//False
System.out.println(isOdd(9));//True
}
}