完整代码如下,代码还未进行优化,所以看起来会很繁琐,但是想稍稍记录以下哈哈
package lab_report_IP;
import java.util.*;
public class ip {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner reader = new Scanner(System.in);
//开始定义
String ip;
int k; //接收由字符串转化为整型
int index; //接受截取时返回的数组的位置
int a = 0; //当 a 等于4的时候,证明IP地址合法,否则不合法
//输入IP地址
System.out.println("请输入需要验证的IP地址:");
ip = reader.nextLine();
if(ip.length() > 15) System.out.println("输入IP地址的长度过长!");
//对IP地址进行截取,同时进行转化和判断
else
{
for(int i = 1;i <= 3;i++)
{
index = ip.indexOf('.'); //获取字符'.' 所在的位置index
k = Integer.parseInt(ip.substring(0,index)); //导出index之前的数组并转化为整型变量k
System.out.println("截取出来的字段为:" + k);
ip = ip.substring(index + 1); //将已经转化的字符串从原字符串中去掉
System.out.println("剩下的字符串为:" + ip);
if(k < 255 && k > 0)
{
a = a + 1;
}
System.out.println("现在已经有" + a + "个字段合法");
}
//检测最后一个字段
System.out.println("最后一个字段为:" + ip);
k = Integer.parseInt(ip);
if(k <255 && k > 0)
{
a = a + 1;
}
System.out.println("现在已经有" + a + "个字段合法");
}
if(a == 4) System.out.println("\n\n\n该IP地址为合法!");
else System.out.println("\n\n\n该IP地址不合法!");
}
}