面试百度问了这么一个问题,现在记录一下。
public class TestCacheTest { @Test public void test1() throws Exception { String iP1 = "{\"id\":null}"; String iP2 = "172.168.1.1"; String iP3 = "125.sss.Sadad.达瓦达瓦"; System.out.print("IP1 是" + CheckIp(iP1) + "\n"); System.out.print("IP2 是" + CheckIp(iP2) + "\n"); System.out.print("IP3 是" + CheckIp(iP3) + "\n"); } public boolean CheckIp(String str) { String[] strArr = str.split("\\."); if (strArr.length < 4) { return false; } for (String strnum : strArr) { if (!isNumeric(strnum)) { return false; } int ipnum = Integer.parseInt(strnum); if (ipnum < 0 || ipnum > 255) { return false; } } return true; } // 判断字符串是否为纯数字,根据char值判断 public static boolean isNumeric(String str) { for (int i = str.length(); --i >= 0; ) { int chr = str.charAt(i); if (chr < 48 || chr > 57) return false; } return true; } }