java吧 关注:1,251,590贴子:12,738,389
  • 3回复贴,共1

【Java基础强化】用偶判断,不用奇判断

只看楼主收藏回复

public class Test {
public static void main(String[] args) {
// 接收键盘输入参数
Scanner input = new Scanner(System.in);
System.out.println("请输入多个数字判断奇偶:");
while (input.hasNextInt()) {
int i = input.nextInt();
String str = i + "->" + (i%2 == 0 ?"偶数" :"奇数");
System.out.println(str);
}
}
}
输入正数还行,接着输入负数,都判断为偶数
我们先来了解一下Java中取余的算法,模拟代码如下:
// 模拟取余计算,dividend被除数,divisor除数
public static int remainder(int dividend,int divisor) {
return dividend - dividend / divisor * divisor;
}
根据上面的模拟取余可知,当输入-1的时候,运算结果是-1,当然不等于1了,所以它就被判定为偶数了,也就是说是我们的判断失误了。问题明白了,修正也很简单,改为判断是否是偶数即可,代码如下:
i%2 == 0 ? "偶数" :"奇数"


IP属地:上海1楼2015-08-16 15:50回复
    切判断奇数偶数的太简单了,用余2就搞定了


    2楼2015-08-16 16:09
    回复
      不要看不起我... 我是个好孩子


      IP属地:云南3楼2015-08-16 16:15
      回复
        http://blog.csdn.net/u013249965
        实时更新中,谢谢


        IP属地:上海6楼2015-08-19 08:20
        回复