Java检测IP地址输入是否正确

时间:2025-03-10 11:11:37

题目描述:
1、编写一个方法验证一个IP地址的格式是否正确,正确返回true,不正确返回false,该方法可定义如下
public boolean isRightIP(String ip)
其中,参数是要验证的IP字符串。(注:IP地址由4部分构成,即,每个部分是0~255的整数)
2、从键盘读入以字符,在main方法中调用isRightIP(String ip)以测试输入的字符串是否为合法的IP,给出结果。

分析:题目意思是要检测输入的IP地址是否合法和是否正确,合不合法的标准是:输入的只可以是数字或者“.”,若是有其他字符则是输入不合法。检测IP地址是否正确就是检测IP地址的每个部分是否是0~255。public boolean ceshi (String ip)方法是检测IP地址是否有不合法字符;public boolean chishi1(String ip)方法是检测IP地址的“.”是否超过了三个。
代码如下:

package ch;
import ;
class judge{ 
	public boolean isRightIP (String ip) {//检测IP地址是否正确
		String[] input=("\\.");
		int a=(input[0]);//IP地址的第一个部分
		int b=(input[1]);//IP地址的第二个部分
		int c=(input[2]);//IP地址的第三个部分
		int d=(input[3]);//IP地址的第四个部分
		if(a>=0 && a<=255 && b>=0 && b<=255&& c>=0 && c<=255&&d>=0 && d<=255  )
		{
		    ("true");
			return true;
		}
		else {
			("false");
			return false;
		}
	}
    public boolean ceshi (String ip) {//检测IP地址是否合法
		int i=();
		int x=0;
		for(int j=0;j<i;j++) {
			if(((j)>47&&(j)<59)||(j)=='.'){
				x++;
			}
		}
		if(x==i)
		    return true;
		else
		    return false;	
	}
    public boolean chishi1(String ip)//检测IP地址是否合法
    {
    	int x=0;
    	int i=();
		for(int j=0;j<i;j++) {
			if((j)==46)
				x++;
		}
		if(x==3)
			return true;
		else
			return false;
    }
}
public class IPText{
	public static void main(String [] args) {
		Scanner in=new Scanner ();
		("请循环输入IP地址:");
		while(())
		{
			
		    String IP=();
		    judge ip;
		    ip=new judge();
		    boolean m=(IP);
		    boolean n=ip.chishi1(IP);
		    if(m==false||n==false)
		    {
			    ("输入有误!请重新输入:");
		    }
		    else
			(IP);
	    }
	}
}