网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月08日漏签0天
javase吧 关注:61,890贴子:983,736
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 5回复贴,共1页
<<返回javase吧
>0< 加载中...

建议21: 用偶判断,不用奇判断

  • 只看楼主
  • 收藏

  • 回复
  • JinCeon
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
《编写高质量代码:改善Java程序的151个建议》
秦小波 机械工业出版社
有人提出:跟《java解惑》差不多,怀疑有抄袭嫌疑。。。
我不做评价。。。仅转载


  • JinCeon
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
判断一个数是奇数还是偶数是小学里学的基本知识,能够被2整除的整数是偶数,不能被2整除的是奇数,这规则简单又明了,还有什么好考虑的?好,我们来看一个例子,代码如下:
public class Client {
public static void main(String[] args) {
//接收键盘输入参数
Scanner input = new Scanner(System.in);
System.out.print("请输入多个数字判断奇偶:");
while(input.hasNextInt()){
int i = input.nextInt();
String str =i+ "->" + (i%2 ==1?"奇数":"偶数");
System.out.println(str);
}
}
} 输入多个数字,然后判断每个数字的奇偶性,不能被2整除就是奇数,其他的都是偶数,完全是根据奇偶数的定义编写的程序,我们来看看打印的结果:
请输入多个数字判断奇偶:1 2 0 -1 -2
1->奇数
2->偶数
0->偶数
-1->偶数
-2->偶数 前三个还很靠谱,第四个参数-1怎么可能会是偶数呢,这Java也太差劲了,如此简单的计算也会错!别忙着下结论,我们先来了解一下Java中的取余(%标示符)算法,模拟代码如下:
//模拟取余计算,dividend被除数,divisor除数
public static int remainder(int dividend,int divisor){
return dividend - dividend / divisor * divisor;
} 看到这段程序,相信大家都会心地笑了,原来Java是这么处理取余计算的呀。根据上面的模拟取余可知,当输入-1的时候,运算结果是-1, 当然不等于1了,所以它就被判定为偶数了,也就是说是我们的判断失误了。问题明白了,修正也很简单,改为判断是否是偶数即可,代码如下:
i%2 ==0?"偶数":"奇数"
注意 对于基础知识,我们应该“知其然,并知其所以然”。


2025-06-08 23:40:18
广告
  • 典勇嘉谋
  • 六年级
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • JAVA小_菜_鸟
  • 五年级
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



  • __ultimate__
  • 五年级
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼



  • 张文全121
  • 六年级
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
逛到东西了,有不少收获,感谢楼主!!希望看到更多楼主的作品!


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回javase吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示