题目描述:
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);
}
}
}