- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机网络
课程设计报告
班级:计科134
姓名:陈艳红(20131515227)
指导老师:韩亚峰
日期:2015-6-15
一题目:判断ip地址的合法性及子网判断
题目要求:
1)命令行格式:ip_test subnet/mask ip_addr, ip_test其中为程序名;subnet为子网号;mask是一个数值,代表子网掩码连续1的个数;ip_addr是要测试的IP地址。
例如,要测试的IP地址为202.114.16.10,子网号为202.113.16.0,子网掩码为255.255.255.0,则命令行为ip_test 202.113.16.0/24 202.114.16.10(因为255.255.255.0是连续的24个1,所以用24表示)。
判断subnet和ip_addr的合法性。在判断IP地址合法性时要自行编写代码,不要使用任何inet函数。判断时要考虑全面,
比如以下IP地址均不合法:
123..2.1
123.23$.2.1
123.2345.2.1
123.23.45.2.1
3)判断掩码的合法性。
4)在IP地址合法的前提下,判断ip_addr是否属于子网subnet。
5)输出命令行中的ip是否合法,掩码是否合法(可适当给出不合法的原因)以及ip_addr是否属于子网subnet。
二:概要设计
1属性:int flag//用于判断ip地址,子网掩码是否合法,如果不合法重新输入,flag=1,表示不合法
int i//判断是否存在非法字符
int dian//定义分割符
2 方法:toCharArray()//使用此方法把用户输入的字符串转换成新的字符数组
Length()//返回用户输入的字符串的长度
Split()//拆分字符串
Parseint()//将字符串参数作为有符号的十进制整数进行解析
Concat()//连接字符串
Equals()//比较两个字符串是否相等
3类 input()
Iptest()
Subnet()
三:详细设计(由流程图解释)
算法思想:主要分为两部分:一:ip地址的合法性
二:是否属于该子网
一:ip地址的合法性:
参考谢希仁编著的计算机网络,
IP地址采用分层结构,由网络号与主机号两部分组成(如下图所示):
网络号 主机号 IP地址长度为32位,用点分十进制表示,格式为ⅹ.ⅹ.ⅹ.ⅹ,每个ⅹ为8位,每个ⅹ的值为0—255(例如202.113.29.119)—packag中输入ipTest,在class中输入input
4.点击完成,然后把源代码复制到代码窗口中
5.按F5或点击工具栏中的启动按钮运行
图文解说
步骤1 File——new——Java Project
步骤2 如下图(注意其中projrct name中应输入你的程序名)输入完毕后,点击Cancel
步骤3右键单击ipTest——new——class
步骤4 在弹出的对话框中输入:如下图(注意其中package中应输入你的程序名,class输入你程序中的类,但一般输入第一个类的名称)单击cancel
步骤5:把源代码复制到代码区间
步骤6:调试没有错误后点击工具栏中的运行按钮或是按F5键运行
步骤7:根据console中的文字提示进行输入
附录:源代码及注释
package ipTest;
import java.util.*;
class input{
Scanner scanner = new Scanner(System.in);
String s= scanner.nextLine();
int flag;
//判断输入的IP地址是否合法,如果不合法从新输入,flag=1为不合法;
input(){
flag=0;
char a[]=s.toCharArray();
if(s.length()15){
System.out.println(地址总长超过15);
flag=1;
}
for(int i=0;is.length();i++)//判断是否存在非法字符,分隔符只能为3个,
{
if((a[i]0 || a[i]9) a[i]!=.)
{
System.out.println(地址中包含非法字符!);
flag=1;
break;
}
}
int dian=0;
for(int i=0;is.length();i++)//判断是否存在非法字符,分隔符只能为3个,
{
if(a[i]==.)
dian++;
}
if
文档评论(0)