A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭沐昌 中级黑马   /  2013-3-28 13:17  /  1642 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

确定它是否是一个奇数
  1. public static boolean isOdd(int i){

  2. return i % 2 == 1;
  3. }
复制代码
这个方法为什么不能正确运转?

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-28 14:32

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 鼓励鼓励

查看全部评分

12 个回复

倒序浏览
可以运行啊,楼主搞错了吧

评分

参与人数 1技术分 +2 收起 理由
滔哥 + 2

查看全部评分

回复 使用道具 举报
楼主是不是没有写主方法啊。。。
回复 使用道具 举报
可以运行!楼主把全部代码贴上来看看
回复 使用道具 举报
丘凤光 发表于 2013-3-28 13:40
可以运行啊,楼主搞错了吧

如果是负数呢
回复 使用道具 举报
HM王琦 发表于 2013-3-28 13:48
楼主是不是没有写主方法啊。。。

如果是负数你如何运行
回复 使用道具 举报
Harry 发表于 2013-3-28 14:26
如果是负数呢

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

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
丘凤光 发表于 2013-3-28 14:29
偶数的定义:自然数中,能被2整除的数是偶数,反之是奇数。
特别的:0也是偶数(2002年国际数学协会规定, ...

isOdd 方
法对于对所有负奇数的判断都会失败
回复 使用道具 举报
Harry 发表于 2013-3-28 15:00
isOdd 方
法对于对所有负奇数的判断都会失败

奇数是不能为负的
回复 使用道具 举报
刘海陆 发表于 2013-3-28 15:41
奇数是不能为负的

奇数包括正奇数、负奇数
回复 使用道具 举报
Harry 发表于 2013-3-28 16:48
奇数包括正奇数、负奇数

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

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
我给你的建议就是,多敲程序,可能刚开始遇到一些不能运行的错误,这些是必然的,我希望你不要因此失去信心,对于你写的代码,语句是没有问题的,主函数的写法都是固定的,希望你多多联系,呵呵我第一次写helloworld的时候也错了很多呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马