今天看了一个笔试题,说是写出判断奇数的方法,看似非常简单的问题,但写程序的时候却需要注意:
public void methodName(int i){
if(i%2==1){
//....
}else{
//...
}
}
刚一看没错,可是如果参数是负数,那么永远都只能执行else中的内容了,因为:取余运算结果的符号是以%左侧参数一致。应该如下写:
public void methodName(int i){
if(i%2!=0){
//....
}else{
//...
}
}