题解 | #合法IP#

合法IP

https://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9

import java.util.Scanner;

// mark
// 初始 字符串分割之后,一定要分成 4 部分,否则直接返回
// 分割后的字符串不能为 空串,否则直接返回
// 分割后的字符串不能包含 除数字以外 的任何字符,否则直接返回
// 在 IPv4 中,对于每一部分的数字,都不能 大于255 或者为 负数
// 别忘了,对于每一部分,不能有 前导0,即不能有 255.002.255.12 这种情况

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
       
        while (in.hasNextLine()) {
            String ip = in.nextLine();
            String[] strings = ip.split("\\.");
            int length = strings.length;
            boolean ipValid = true;
            if (length != 4) {
                ipValid = false;
            }
            for (String str : strings) {
                if (str.equals("")) {
                    ipValid = false;
                    break;
                }

                int val = 0;
                try {
                    val = Integer.valueOf(str);
                } catch (Exception e) {
                    ipValid = false;
                    break;
                }
                
                if (val < 0 || val > 255) {
                    ipValid = false;
                    break;
                }

                if (String.valueOf(val).length() != str.length()) {
                    ipValid = false;
                    break;
                }
            }
            if (ipValid) {
                System.out.println("YES");
            } else {
                System.out.println("NO");
            }
        }
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务