zoukankan      html  css  js  c++  java
  • Java之戳中痛点

    取余判断原则:取余用偶判断,不要用奇判断

    先看一个 程序:

    package com.test;
    import java.util.Scanner;
    
    public class t1 {
        public static void main(String[] args) {    
                //接收键盘输入
                Scanner in = new Scanner(System.in);
                while(in.hasNextInt()){
                    int i = in.nextInt();
                    System.out.println(i%2==1?"奇数":"偶数");
                }
        }
    }

    再看一下结果:

    这里就有疑问了,结果怎么出现了-1为偶数

    看一下java取余算法(%标识符)怎么计算取余,*模拟*方法实现:

    //被除数 dividend 除数divisor
    public static int remaindar(int dividend,int divisor){
            return dividend - dividend/divisor*divisor;
    }

    分析方法发现 -1取余还是 -1,所以被认定为偶数;

    正确写法:

    package com.test;
    import java.util.Scanner;
    
    public class t1 {
        public static void main(String[] args) {    
                //接收键盘输入
                Scanner in = new Scanner(System.in);
                while(in.hasNextInt()){
                    int i = in.nextInt();
                    System.out.println(i%2==0?"偶数":"奇数");
                }
        }
    }

     结果:

  • 相关阅读:
    待学习资料
    Hive之数据类型
    Hive 之元数据库的三种模式
    Hive之数据模型
    311 jvm类加载以及对象回收相关
    221 netty模型相关
    J101
    213 NIO编程
    XXLJOB终止定时任务的犯二小故事
    XXL-JOB源码研究(1)---version 2.1.2
  • 原文地址:https://www.cnblogs.com/JsonShare/p/6383139.html
Copyright © 2011-2022 走看看