题解 | #合法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"; } }