面试百度问了这么一个问题,现在记录一下。
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;
}
}