合法IP

題目描述

如今IPV4下用一個32位無符號整數來表示,通常用點分方式來顯示,點將IP地址分紅4個部分,每一個部分爲8位,
表示成一個無符號整數(所以不須要用正號出現),如10.137.17.1,是咱們很是熟悉的IP地址,一個IP地址
串中沒有空格出現(由於要表示成一個32數字)。

如今須要你用程序來判斷IP是否合法。

輸入描述

輸入一個ip地址

輸出描述

返回判斷的結果YES or NO

輸入例子

10.138.15.1

輸出例子

YES

算法實現

import java.util.Arrays;
import java.util.Scanner;

/**
 * All Rights Reserved !!!
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
//        Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt"));
        while (scanner.hasNext()) {
            String input = scanner.nextLine();
            System.out.println(ipCheck(input));
        }

        scanner.close();
    }

    private static String ipCheck(String s) {
        final String YES = "YES";
        final String NO = "NO";

        String[] ss = s.split("\\.");

        if (ss.length != 4) {
            return NO;
        }

        for (int i = 0; i < ss.length; i++) {
            try {
                int num = Integer.parseInt(ss[i]);
                if (num < 0 || num > 255) {
                    return NO;
                }
            } catch (Exception ex) {
                return NO;
            }
        }

        return YES;
    }
}
相關文章
相關標籤/搜索