美文网首页
ipv4字符串转换成为32位整型值形式的ipv4

ipv4字符串转换成为32位整型值形式的ipv4

作者: 那个阳光下奔跑的少年 | 来源:发表于2021-11-27 11:36 被阅读0次

    题目描述
    给定ipv4字符串,可能含有数字,圆点,空格。 如“192. 168 . 1. 1 2 3 ”,要求将其做格式化成一个标准ipv4字符串,然后转换成为32位整型值形式的ipv4.

     /**
         * https://www.nowcoder.com/questionTerminal/66ca0e28f90c42a196afd78cc9c496ea
         * @param s
         * @return
         */
        public static int getIPV4(String s){
            int error = 0;
            if(s==null || s.length()==0 || !s.contains(".")){
                return error;
            }
            String[] subs = s.split("\\.");
            //不是4段
            if(subs.length!=4){
                return error;
            }
            int result = 0;
            for(int i=subs.length-1;i>=0;i--){
                int sub = Integer.parseInt(subs[i].replaceAll(" ",""));
                if(sub>255){
                    return error;
                }
                if(i == 2){
                    sub = sub<<8;
                }else if(i ==1){
                    sub = sub<<16;
                }else if(i == 0){
                    sub = sub << 24;
                }
                result +=sub;
            }
    
            return result;
    
        }
    

    相关文章

      网友评论

          本文标题:ipv4字符串转换成为32位整型值形式的ipv4

          本文链接:https://www.haomeiwen.com/subject/prwfxrtx.html