题解 | #合法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");
}
}
}
}
查看7道真题和解析