Java【编程题】判断输入的IP地址是否合法(非正则表达式)
判断IP地址是否合法。例如:172.123.45.6合法;123.2.2或者192.168.2.a等都是非法IP地址。
输入:
172.163.66.3
192.163.3
172.10.a.bb
输出:
true
false
false
import java.util.*;
public class Main {
public static boolean ipaddress(String str){
//System.out.println(str);
String[] s = str.split("\\."); //“.”必须用转义字符
//System.out.println(s.length);
if(s.length == 4){
for(int i = 0; i < s.length; i++){
char[] ch = s[i].toCharArray();
boolean z = s[i].matches("[0-9]+");//判断字符串是否是纯数字
//System.out.println(z);
if(z == true){
int n = Integer.parseInt(s[i]);
if(n<0 || n>255){
return false;
}
}else if(z == false){
return false;
}
}
}else{
return false;
}
return true;
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(true){
String str = sc.nextLine();
System.out.println(ipaddress(str));
}
}
}
测试: