华为机试-合法IP
题目描述
现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,
表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,
一个IP地址串中没有空格出现(因为要表示成一个32数字)。
现在需要你用程序来判断IP是否合法。
输入描述:
输入一个ip地址
输出描述:
返回判断的结果YES or NO
示例1
输入
10.138.15.1
输出
YES
程序实现
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- /**
- * 题目描述 现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,
- * 表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,
- * 一个IP地址串中没有空格出现(因为要表示成一个32数字)。 现在需要你用程序来判断IP是否合法。
- *
- * 输入描述: 输入一个ip地址 输出描述: 返回判断的结果YES or NO 示例1 输入
- *
- * 10.138.15.1 输出
- *
- * YES
- *
- */
- "\\."
- import java.util.Scanner;
- /**
- * 题目描述 现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,
- * 表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,
- * 一个IP地址串中没有空格出现(因为要表示成一个32数字)。 现在需要你用程序来判断IP是否合法。
- *
- * 输入描述: 输入一个ip地址 输出描述: 返回判断的结果YES or NO 示例1 输入
- *
- * 10.138.15.1 输出
- *
- * YES
- *
- */
- public class Main {
- public static void main(String[] args) {
- @SuppressWarnings("resource")
- Scanner scanner = new Scanner(System.in);
- while (scanner.hasNext()) {
- String string = scanner.nextLine();
- String[] stringArr = string.split("\\.");
- boolean flag = check(stringArr);
- if (flag) {
- System.out.println("YES");
- } else {
- System.out.println("NO");
- }
- }
- }
- private static boolean check(String[] arr) {
- int num = 0;
- for (int i = 0; i < arr.length; i++) {
- num = Integer.parseInt(arr[i]);
- if (num < 0 || num > 255) {
- return false;
- }
- }
- return true;
- }
- }
posted on 2017-07-13 09:06 WenjieWangFlyToWorld 阅读(333) 评论(0) 编辑 收藏 举报