JavaPuzzlers中文版(Java解惑)
JavaPuzzlers中文版(Java解惑)Java谜题1——表达式谜题谜题1:奇数性下面的方法意图确定它那唯一的参数是否是一个奇数。这个方法能够正确运转吗?publicstaticbooleanisOdd(inti){returni%2==1;}奇数可以被定义为被2整除余数为1的整数。表达式i%2计算的是i整除2时所产生的余数,因此看起来这个程序应该能够正确运转。遗憾的是,它不能;它在四分之一的时间里返回的都是错误的答案。为什么是四分之一?因为在所有的int数值中,有一半都是负数,而isOdd方法对于对所有负奇数的判断都会失败。在任何负整数上调用该方法都回返回
用户评论