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