输入一个字符串,程序判断是不是ip地址。(通过正则表达式)
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String ipStr = scanner.next();
boolean isIpLegal = isIpLegal(ipStr);
if(isIpLegal) {
System.out.println(ipStr + " 合法");
}
else{
System.out.println(ipStr + " 非法");
}
}
public static boolean isIpLegal(String ipStr) {
String ipRegEx = "^([1-9]|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))(\\.([0-9]|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))){3}$";
Pattern pattern = Pattern.compile(ipRegEx);
Matcher matcher = pattern.matcher(ipStr);
if (matcher.matches()) {
return true;
} else {
return false;
}
}
- 首先了解IP地址的分类;
- 根据IP地址分类在划分等价类;
- 在等价类里挑选测试用例。
- 然后再考虑特殊值,用户非法输入等。
等价类划分:
测试用例:
- 对该程序涉及的点要充分了解;
- 对应其分等价分类设置相应的测试用例,效果更佳。