題目描述
如今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;
}
}