题解 | #验证IP地址#

验证IP地址

http://www.nowcoder.com/practice/55fb3c68d08d46119f76ae2df7566880

就是处理一下字符串

    public String solve (String IP) {
        // write code here

        if (IP == null && IP.length() == 0){
            return "Neither";
        }

        if (IP.contains(":")){

            String[] fields = IP.split(":");
            if (fields.length != 8){
                return "Neither";
            }

            for (String field : fields) {
                if (!isIPV6(field)){
                    return "Neither";
                }
            }

            return "IPv6";
        }else if (IP.contains(".")){

            String[] fields = IP.split("\\.");
            if (fields.length != 4){
                return "Neither";
            }

            for (String field : fields) {
                if (!isIPV4(field)){
                    return "Neither";
                }
            }

            return "IPv4";
        }else {
            return "Neither";
        }
    }

    private boolean isIPV6(String str){

        if (str.length() > 4 || str.length() == 0){
            return false;
        }

        try {
            int max = Integer.valueOf("FFFF",16);
            int num = Integer.valueOf(str, 16);

            if (num > max){
                return false;
            }

        }catch (NumberFormatException e){

            return false;
        }
        return true;
    }

    private boolean isIPV4(String str){

        if (str.length() == 0 || str.length() > 3){
            return false;
        }

        try {

            int n = str.length();
            int num = Integer.valueOf(str);

            if (num > 255 || num < 0){
                return false;
            }

            if (n == 3 && num < 100){
                return false;
            }

        }catch (NumberFormatException e){
            return false;
        }

        return true;
    }
全部评论

相关推荐

10-10 16:30
济宁学院 Java
一表renzha:面试官:蓝桥杯三等奖?你多去两次厕所都能拿二等吧
点赞 评论 收藏
分享
09-24 18:30
已编辑
长春工业大学 产品经理
小肥罗:HR就是好人的缩写哈哈哈哈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务