`
cs_css
  • 浏览: 83967 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中奇偶判断值得注意的地方

    博客分类:
  • java
阅读更多

很基础的一个问题,如何判断一个整数是奇是偶?

有人会说,用2取余,结果是1,那么就是奇数,结果是0,那么就是偶数

看起来没错,如果用java写一个简单的运算,是这样的:

String str = i+”->”+(i%2==1?”奇数”:”偶数”);

System.out.println(str);

给上面程序中的i分别赋值为120-1-2,看看输出结果是什么样的呢?

1->奇数

2->偶数

0->偶数

-1->偶数

-2->偶数

仔细看一下,发现-1竟然成了偶数,根据小学的数学知识,我们知道这显然是不对的。

问题出在哪里了呢?显然,是i%2==1这个判断式出了问题。

了解java取余运算,会发现java%运算是这样的,模拟代码如下:

public static int remainder(int dividend,int divisor){

    return dividend – dividend/divisor*divisor;

}

通过这样的计算,我们得知,上面的例子中,如果输入-1,取余出来的结果是-1,而不是我们想要的1。所以造成了错误的输出。正确的判断应该是这样的:

i%2==0?”偶数”:”奇数

结论:奇偶判断时,使用偶判断,而不用奇判断

分享到:
评论
1 楼 chj_li 2013-04-18  
这个不错,如果考试,应该会经常遇到

相关推荐

    中奇打印机驱动

    值得注意的是,如果在使用过程中遇到打印机无法识别或打印质量不佳的问题,可能需要检查驱动是否正确安装或者是否需要更新。中奇打印机的驱动更新通常可以在官方网站找到,下载最新的驱动程序覆盖安装,可以解决因...

    java算法——奇数阶魔方阵

    奇数阶魔方阵 * 1.自然数1出现在第一行的正中间 * 2.若填入的数字在第一行(不在第n列),则下一个数字在第n行且列数加1 ...若应填的地方已经有数字或在方阵之外,则下一个数字就填在前一个数字的下方。

    C语言程序设计-编写函数求1~100中奇数的平方和结果为166650.000000.c

    C语言程序设计-编写函数求1~100中奇数的平方和结果为166650.000000.c

    MATLAB.rar_奇偶校验

    使用matlab实现奇偶校验,使用for循环一步到位,加入了干扰位

    java程序设计题目.pdf

    11. 从键盘输入一个正整数n,编程判断这个数是否同时含有奇数字和偶数字。 Java知识点:数字处理、条件语句 12. 输入一个正整数,判断其中各位数字是否奇偶数交替出现。 Java知识点:数字处理、条件语句 13. 设...

    关于奇偶页码不同的设置方法

    "关于奇偶页码不同的设置方法" 在本文中,我们将探讨奇偶页码不同的设置方法,解决 WPS 中的页码问题。本文涵盖了 WPS 中单面打印、双面打印、装订线和页码设置等相关知识点。 一、WPS 中的单面打印 ...

    汇编语言统计数组中奇数个数并存入eax

    是用子程序统计数组中奇数个数并存入eax

    jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)

    在Web前端开发中,CSS选择器是必不可少的工具之一。其中,nth-child是一个常用的伪类选择器,允许开发者根据元素在其父元素中的位置来选择元素。今天我们就通过学习jQuery的时候,一起深入了解CSS选择器中nth-child...

    C语言程序奇偶个数统计

    适合初学者,来源于中国MOOC课程作业,用于计算输入数据中奇偶个数统计

    强子质谱中奇夸克和反夸克的动力学超对称

    摘要假设自旋为0的双夸克与构成夸克具有相似的质量,我们引入了夸克与双夸克之间的对称性。 为构造这种对称的代数,我们将上下旋转的夸克的三元组和自旋为0的夸克视为该代数的基本表示。 我们进一步建立由基本表示的...

    c代码-10.键盘输入一个正整数s,从低位开始取出s中奇数位上的数作为高位,依次构成一个新数输出。例如,输入"54321",输出"135"。

    例如,如果当前位是i,则判断`i % 2 != 0`来确定是否是奇数位。 4. **构造新数**:在保留下来的奇数位数字中,从低位到高位构造新的整数。这可能需要使用数组或者自定义的数据结构来存储这些数字。 5. **输出新数*...

    广东省揭阳市揭西县河婆中学2020-2021学年高二上学期第一次月考数学试题 .docx

    6. 数列中相邻两项乘积的正负判断(问题6)测试了数列中奇偶项的性质,需要理解正负号的变化规律。 7. 等差数列的分组问题(问题7)要求学生理解等差数列的平均数特性,以及等差数列求和的技巧。 8. 三角形性质的...

    IE6中奇数宽高的BUG

    需要注意的是,IE6中的BUG和解决方案往往比较特殊,可能需要针对不同的布局情况和元素特性来进行特别的处理。在实际工作中,最佳的实践是尽量减少对IE6的支持,或者明确告知客户和项目相关方可能存在的兼容性问题,...

    IEEE519谐波电流计算方法.pdf

    奇次谐波限值是指输电系统中奇次谐波电流的最大允许值,而偶次谐波限值是指输电系统中偶次谐波电流的最大允许值。 奇次谐波限值的计算方法是根据输电系统的电流畸变程度和电压畸变程度进行计算的。根据表 9,奇次...

    CRC-8 循环冗余校验方法

    然而,需要注意的是,CRC-8虽然能有效发现单个比特的错误,但对于多比特错误或者特定模式的错误,其检测能力有限。因此,在更高要求的场合,如网络通信和硬盘存储,可能会采用更复杂的CRC算法,如CRC-16或CRC-32。 ...

Global site tag (gtag.js) - Google Analytics