黑马程序员技术交流社区

标题: 下面这个代码怎么理解 [打印本页]

作者: Jayshun    时间: 2014-11-10 13:38
标题: 下面这个代码怎么理解
public int compare(String s1, String s2) {
                //创建两个数组,用于存IP
                String[] str1=s1.split("\\.");
                String[] str2=s2.split("\\.");
                //定义用于存IP地址计算后的long对象
                long num1=0;
                long num2=0;
                ///因为每一段IP的最大值是256,每一段乘以256的3-i的次方,方便下面的比较
                for(int i=0;i<str1.length;i++){
                        num1=(long)(num1+Integer.parseInt(str1)*Math.pow(256,(3-i)));
                }
                for(int i=0;i<str2.length;i++){
                        num2=(long)(num2+Integer.parseInt(str2)*Math.pow(256,(3-i)));//这里怎么理解
                }
                if(num1-num2>0){
                        return 1;
                }
                else if(num1-num2<0){
                        return -1;
                }
                return 0;
        }
}


作者: a8851625    时间: 2014-11-10 13:56
Math.pow(256,(3-i));这一段你上面不是有注释么?
因为每一段IP的最大值是256,每一段乘以256的3-i的次方,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2