题解 | #合法IP#
合法IP
https://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
System.out.println(ifValid(input));
}
private static String ifValid(String input) {
String[] split = input.split("\\.");
// 判断ip长度
if(split.length != 4){
return "NO";
}
// 判断每段是否合法
for (int i = 0; i < split.length; i++) {
String s = split[i];
// 每段是否为空
if(s == null || s.length() < 1){
return "NO";
}
// 每段是否是形如01,022这种非法输出
if(s.length() > 1 && s.charAt(0) == '0'){
return "NO";
}
// 每段是否都是数字
for (char c : s.toCharArray()) {
if(c < 48 || c > 57){
return "NO";
}
}
// 每段的取值是否在0~255
if(Integer.parseInt(s) < 0 || Integer.parseInt(s) > 255){
return "NO";
}
}
return "YES";
}
}

查看8道真题和解析