黑马程序员技术交流社区

标题: 奇数的问题? [打印本页]

作者: 郭沐昌    时间: 2013-3-28 13:17
标题: 奇数的问题?
确定它是否是一个奇数
  1. public static boolean isOdd(int i){

  2. return i % 2 == 1;
  3. }
复制代码
这个方法为什么不能正确运转?
作者: 丘凤光    时间: 2013-3-28 13:40
可以运行啊,楼主搞错了吧


作者: HM王琦    时间: 2013-3-28 13:48
楼主是不是没有写主方法啊。。。
作者: 高新星    时间: 2013-3-28 14:17
可以运行!楼主把全部代码贴上来看看
作者: 郭沐昌    时间: 2013-3-28 14:26
丘凤光 发表于 2013-3-28 13:40
可以运行啊,楼主搞错了吧

如果是负数呢
作者: 郭沐昌    时间: 2013-3-28 14:26
HM王琦 发表于 2013-3-28 13:48
楼主是不是没有写主方法啊。。。

如果是负数你如何运行
作者: 丘凤光    时间: 2013-3-28 14:29
Harry 发表于 2013-3-28 14:26
如果是负数呢

偶数的定义:自然数,能被2整除的数是偶数,反之是奇数。
特别的:0也是偶数(2002年国际数学协会规定,零为偶数.我国2004年也规定零为偶数)。
自然数的定义:用以计量事物的件数或表示事物次序的数 。 即用数码0,1,2,3,4,……所表示的数 。表示物体个数的数叫自然数,自然数由0开始 (也有说法是从1开始), 一个接一个,组成一个无穷集体。
这几个概念搞清了,你的问题就因该解决了。
作者: 郭沐昌    时间: 2013-3-28 15:00
丘凤光 发表于 2013-3-28 14:29
偶数的定义:自然数中,能被2整除的数是偶数,反之是奇数。
特别的:0也是偶数(2002年国际数学协会规定, ...

isOdd 方
法对于对所有负奇数的判断都会失败
作者: 刘海陆    时间: 2013-3-28 15:41
Harry 发表于 2013-3-28 15:00
isOdd 方
法对于对所有负奇数的判断都会失败

奇数是不能为负的
作者: 郭沐昌    时间: 2013-3-28 16:48
刘海陆 发表于 2013-3-28 15:41
奇数是不能为负的

奇数包括正奇数、负奇数
作者: 刘海陆    时间: 2013-3-28 17:27
Harry 发表于 2013-3-28 16:48
奇数包括正奇数、负奇数

嗯,我说错了,奇数包括负奇数
作者: 小黑黑    时间: 2013-3-29 12:34
  1. public static boolean isOdd(int i){
  2.                 //System.out.println(i % 2);//用于调试
  3.                 return (Math.abs(i) % 2) ==1;
  4.         }
复制代码
楼主,负数中的奇数是带负号的,那么即使它是奇数,那么对2取模仍为奇数啊。所以,你这里对负数判断奇数,永远不能成立的,所以,你先把它转化为正整数,再对2取模,这样结果就没问题了。
补充一点:负数的取模运算在不同编程语言的结果是不同的,具体请在网上搜索相关资料吧,有很多这方面的介绍的。

作者: 疯狂程序    时间: 2013-3-30 00:31
我给你的建议就是,多敲程序,可能刚开始遇到一些不能运行的错误,这些是必然的,我希望你不要因此失去信心,对于你写的代码,语句是没有问题的,主函数的写法都是固定的,希望你多多联系,呵呵我第一次写helloworld的时候也错了很多呢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2