计算机网络课程设计--判断ip地址的合法性及子网判断

上传人:aa****6 文档编号:38387003 上传时间:2018-05-01 格式:DOC 页数:12 大小:135.50KB
返回 下载 相关 举报
计算机网络课程设计--判断ip地址的合法性及子网判断_第1页
第1页 / 共12页
计算机网络课程设计--判断ip地址的合法性及子网判断_第2页
第2页 / 共12页
计算机网络课程设计--判断ip地址的合法性及子网判断_第3页
第3页 / 共12页
计算机网络课程设计--判断ip地址的合法性及子网判断_第4页
第4页 / 共12页
计算机网络课程设计--判断ip地址的合法性及子网判断_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《计算机网络课程设计--判断ip地址的合法性及子网判断》由会员分享,可在线阅读,更多相关《计算机网络课程设计--判断ip地址的合法性及子网判断(12页珍藏版)》请在金锄头文库上搜索。

1、计算机网络课程设计报告计算机网络课程设计报告一题目:判断一题目:判断 ip 地址的合法性及子网判断地址的合法性及子网判断题目要求:题目要求:1 1)命令行格式)命令行格式:ip_test:ip_test subnet/masksubnet/mask ip_addr,ip_addr, ip_testip_test 其中为程序名;其中为程序名;subnetsubnet 为子网号;为子网号; maskmask 是一个数值,代表子网掩码连续是一个数值,代表子网掩码连续 1 1 的个数;的个数;ip_addrip_addr 是要测试的是要测试的 IPIP 地址。地址。 例如,要测试的例如,要测试的 IP

2、IP 地址为地址为 202.114.16.10202.114.16.10,子网号为,子网号为 202.113.16.0202.113.16.0,子网掩码为,子网掩码为 255.255.255.0255.255.255.0,则命令行为,则命令行为 ip_testip_test 202.113.16.0/24202.113.16.0/24 202.114.16.10(202.114.16.10(因为因为 255.255.255.0255.255.255.0 是连续的是连续的 2424 个个 1 1,所以用,所以用 2424 表示表示) )。 2 2)判断判断 subnetsubnet 和和 ip_

3、addrip_addr 的合法性。在判断的合法性。在判断 IPIP 地址合法性时要自行编写代码,不要使用地址合法性时要自行编写代码,不要使用 任何任何 inetinet 函数。判断时要考虑全面,函数。判断时要考虑全面, 3 3)比如以下比如以下 IPIP 地址均不合法:地址均不合法:123.2.1123.2.1 123.23$.2.1123.23$.2.1 123.2345.2.1123.2345.2.1 123.23.45.2.1123.23.45.2.13 3)判断掩码的合法性。)判断掩码的合法性。 4 4)在)在 IPIP 地址合法的前提下,判断地址合法的前提下,判断 ip_addrip

4、_addr 是否属于子网是否属于子网 subnetsubnet。 5 5)输出命令行中的)输出命令行中的 ipip 是否合法,掩码是否合法(可适当给出不合法的原因)以及是否合法,掩码是否合法(可适当给出不合法的原因)以及 ip_addrip_addr 是否属于子网是否属于子网 subnetsubnet。 二:概要设计二:概要设计 1 1 属性:属性:intint flagflag/用于判断用于判断 ipip 地址,子网掩码是否合法,如果不合法重新输入,地址,子网掩码是否合法,如果不合法重新输入,flag=1,flag=1,表表 示不合法示不合法 intint i/i/判断是否存在非法字符判断是

5、否存在非法字符 intint dian/dian/定义分割符定义分割符 2 2 方法:方法:toCharArray()/使用此方法把用户输入的字符串转换成新的字符数组使用此方法把用户输入的字符串转换成新的字符数组 Length()/Length()/返回用户输入的字符串的长度返回用户输入的字符串的长度 Split()/拆分字符串拆分字符串 Parseint()/将字符串参数作为有符号的十进制整数进行解析将字符串参数作为有符号的十进制整数进行解析 Concat()/连接字符串连接字符串 Equals()/比较两个字符串是否相等比较两个字符串是否相等 3 类类input()() Iptest()

6、Subnet() 三:详细设计(由流程图解释)三:详细设计(由流程图解释)NY YY YY NY NY YY NY YY NY读取一个字符串总长不超过 15?return段数=4? 每段的值是否 介于 0 到 255input(subnet)是 否为真Ip import java.util.*; class input Scanner scanner = new Scanner(System.in); String s= scanner.nextLine();int flag;/判断输入的判断输入的 IP 地址是否合法,如果不合法从新输入,地址是否合法,如果不合法从新输入,flag=1 为不合

7、法为不合法; input() flag=0;char a=s.toCharArray(); if(s.length()15)System.out.println(“地址总长超过地址总长超过 15“);flag=1;for(int i=0;i9) flag=1;break; int dian=0;for(int i=0;i255|num0) System.out.println(“ERROR!地址不在地址不在 0 至至 255 之间!之间!“);/ip 地址及子网掩地址及子网掩 码地址的取值范围码地址的取值范围 flag=1; break; class subnet_mask extends i

8、nput /*判断子网掩码第一个字节是否为判断子网掩码第一个字节是否为 255*/ int flag2=0;/判断输入的子网掩码是否合法,如果不合法从新输入,判断输入的子网掩码是否合法,如果不合法从新输入,flag=1 表示输入错误表示输入错误;subnet_mask()String dian_s1=s.split(“.“);int first=Integer.parseInt(dian_s10);/把字符数组转换成十进制数把字符数组转换成十进制数if(first!=255)System.out.println(“地址第一字节不是地址第一字节不是 255!“);flag2=1; class i

9、ptestpublic static void main(String g) System.out.println(“请输入请输入 IP 地址地址“);input IP=new input();while(IP.flag=1)System.out.println(“输入输入 IP 地址有误,请重新输入地址有误,请重新输入 IP 地址地址:“);input xin_IP=new input();IP.s=xin_IP.s;if(xin_IP.flag=0)break;System.out.println(“请输入子网号请输入子网号“);input subnet=new input(); whil

10、e(subnet.flag=1)System.out.println(“您输入的子网号有错误您输入的子网号有错误!请重新输入子网号请重新输入子网号:“);input xin_subnet=new input();subnet.s=xin_subnet.s;if(xin_subnet.flag=0)break;System.out.println(“请输入子网掩码请输入子网掩码“);subnet_mask new3=new subnet_mask();while(new3.flag=1|new3.flag2=1)System.out.println(“您输入的子网掩码有错误您输入的子网掩码有错误

11、!请重新输入子网掩码请重新输入子网掩码:“);input xin_new3=new input();new3.s=xin_new3.s;if(xin_new3.flag=0)break; /*判断输入的判断输入的 Ip 地址是否属于子网地址是否属于子网*/String s=IP.s;String s2=new3.s;String s3=subnet.s; String split_s=s.split(“.“);String split_s2=s2.split(“.“); System.out.println(“您输入的您输入的 IP 地址是:地址是:“+IP.s);System.out.pri

12、ntln(“您输入的子网地址是:您输入的子网地址是:“+subnet.s);System.out.println(“您输入的子网掩码是:您输入的子网掩码是:“+new3.s);/得出得出 “XX “int x00=Integer.parseInt(split_s0);int x22=Integer.parseInt(split_s20);int and_x=x00/进行与运算进行与运算String right_mask =String.valueOf(and_x); /得出余下的得出余下的“.XX.XX.XX“ 并和之前得出的并和之前得出的“XX“合并合并for(int i=1;i4;i+)i

13、nt x=Integer.parseInt(split_si);int x2=Integer.parseInt(split_s2i);int and_x12=x/进行与运算进行与运算String and_x11 =String.valueOf(and_x12); right_mask=right_mask.concat(“.“);right_mask=right_mask.concat(and_x11); /将得到的将得到的“XX.XX.XX.XX“和输入的子网掩码比较,如果相同,则证明属于,不同则不属和输入的子网掩码比较,如果相同,则证明属于,不同则不属 于于if(right_mask.equals(s3)System.out.println(“您输入的您输入的 IP 地址属于子网地址属于子网“+subnet.s);elseSystem.out.println(“您输入的您输入的 IP 地址地址(“+IP.s+“)“+“不属于子网不属于子网“+subnet.s);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号