网络编程技术实验指导书之实验一.docx
- 文档编号:29721623
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:12
- 大小:446.46KB
网络编程技术实验指导书之实验一.docx
《网络编程技术实验指导书之实验一.docx》由会员分享,可在线阅读,更多相关《网络编程技术实验指导书之实验一.docx(12页珍藏版)》请在冰豆网上搜索。
网络编程技术实验指导书之实验一
《网络编程技术》实验指导书
2010版
(网络工程专业)
山东建筑大学计算机科学与技术学院
网络工程教研室袁卫华
实验一使用多线程技术下载网络资源数据文件
(1)
一、实验目的
熟悉java运行环境,编程掌握Java输入输出流和Swing组件的用法。
二、实验环境
一般微机即可,软件MyEclipse,JDK1.5以上版本即可。
三、实验内容
1)搭建java运行环境
2)JavaIO流的用法
3)Swing组件及事件处理
四、实验步骤
1.完成以下程序。
第一题:
从键盘输入一首诗,把它写入到文本文件poem.txt中。
要求:
(1)一次输入一行诗,输完后将其会现在屏幕上。
然后再输入下一句。
(2)最后将整首诗的内容从poem.txt中读取出来,显示在屏幕上。
(3)诗的内容:
静夜思
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
提示:
◆程序运行截图
◆键盘输入可使用System.in是一个原始的未经包装的InputStream。
◆本题中要求一次读入一行诗句,所以System.in流的输入需要经适配器InputStreamReader必须对其进行包装,将其转换为字符流,然后使用缓冲式字符流BufferedReader对其进行包装,这样方可以使用BufferedReader类的readLine()方法进行整行读取。
第二题:
编写一个计算三角形面积的小程序,要求用户输入三角形的三边长,然后将计算出的三角形面积显示在JFrame窗口中。
提示:
◆程序运行效果图
①正常运行的情况
②如果用户输入非数值型数据
③如果用户输入的数据无法构成三角形
◆提示之关于界面设计
可以使用两个JPanel,一个JPanel放置上图第一行的swing组件,一个JPanel放置上图第二行的组件。
如其中一个JPanle可以这样设计:
f=newJFrame("计算三角形面积");
//设置Frame的属性
……
p=newJPanel();
l=newJLabel("请输入三角形的三条边长:
");
t1=newJTextField("0",5);
t2=newJTextField("0",5);
t3=newJTextField("0",5);
//将三个文本框都注册给焦点事件监听者
……
p.add(l);
p.add(t1);
p.add(t2);
p.add(t3);
f.add(p);
◆三角形的面积计算
Math.sqrt(q*(q-a)*(q-b)*(q-c)),q=a+b+c/2
在计算面积之前需要先判定用户的输入能否构成三角形
◆判定用户的输入数据格式是否合法可以使用焦点事件FocusEvent的监听接口FocusListener
classHandleFocusimplementsFocusListener{//内部类,焦点处理
publicvoidfocusGained(FocusEvente){
}
publicvoidfocusLost(FocusEvente){
……
}
第三题:
在本机上建立一个文件,将文本框中输入的下列类型的数据,如
int:
100;float:
3.1415925;double:
3.1415926;long:
1234567891;boolean:
true;int:
100;
String:
"祖国,祖国,我爱你!
"
String:
“中国,中国,我的祖国!
”
通过单击按钮“写原始数据类型到文件…”按钮写入到这个文本文件中。
然后通过单击按钮“从文件中读取原始数据类型“把这些数据读取出来,显示在JFrame的文本区中。
要求:
能将界面正确的设计出来,能将用户从文本框输入的数据写入到文件中,并能从文件中再把输入读出显示在JFrame最下面的JTextArea中。
提示:
◆不需要对各个文本的数据格式做验证(假设用户每次都能输入合法的数据格式)
◆文件的扩展名可以自己定义,文件的可能路径是这样的:
DataOutputStreamds=newDataOutputStream(newFileOutputStream("src/chap02/io.rtr"));
也可以自己设定路径
◆本题着重是DataOutputStream,DataInputStream,FileInputStream和FileOutputStream类的用法
◆程序的参考运行界面如下所示:
实验一使用多线程技术下载网络资源数据文件
(2)
一、实验目的
熟悉java运行环境,编程掌握Java输入输出流和Swing组件的用法。
二、实验环境
一般微机即可,软件MyEclipse,JDK1.5以上版本即可。
三、实验内容
1)搭建java运行环境
2)JavaIO流的用法
3)Swing组件及事件处理
四、实验步骤
1.完成以下程序。
第四题:
编程实现一个人机交互版的猜数游戏
◆第一个线程givenNumberThread负责随机给出1-100之间的一个整数,
◆第二个线程guessNumberThread负责提取用户从键盘输入的所猜得的数字,
◆每当第二个线程给出自己的猜测后,
◆第一个线程会提示“猜大了”,“猜小了”,“猜对了”。
提示:
(1)程序运行截图
(2)相关提示
仿照上课所讲的例题GuessNumberGame.java和GuessNumberGame1.java,在程序中合理使用wait(),notify()或notifyAll()等方法,使各个线程能够合理的交替运行,直到用户猜对了为止。
第五题:
编程实现一个带滚动字幕和时钟显示的小字典,
1)用户在左侧文本框中输入英文单词并按下enter键时,另一个文本框显示其汉语介绍;字典中能够翻译的单词如下{boy,girl,man,woman},对应的中文翻译为{男孩,女孩,男人,女人};
2)当用户在左侧文本框中输入“fast”后,能够加速滚动字幕的显示;输入“stop”后,滚动字幕停止;输入“restart”后,滚动字幕重新开始滚动;
3)当用户在左侧文本框中输入“startclock”后,开始显示系统时钟;当用户输入“stopclock”后,时钟终止显示。
4)用户在左侧文本框中输入其他英文单词时,另一个文本框提示说“没有对应的中文”。
提示:
(1)程序运行截图
初始界面,“欢迎使用本系统”正在滚动中……
在文本框中输入startclock后,启动显示时钟线程。
在文本框中输入boy后,右侧文本框中显示其对应中文。
输入其他单词看,右侧文本框中显示“没有这个单词的英文翻译!
”
(2)编程提示
可以参照例题ScrollWordsAndTimer.java,看看这两个程序的控制有什么不同的地方。
第六题:
编程
在文本框中输入主机名,在下面的文本区中显示其IP地址信息;如果输入IP地址,则显示其主机名。
要求:
如果在文本框中输入的是主机名,要求查询出其对应得所有IP地址。
JFrame采用如下类似的设计形式:
1)输入主机名返回其对应的所有IP地址
2)输入IP地址返回其对应的主机名
提示:
可以参照上课用的例题HostLookup.java。
第七题:
对于山东建筑大学主页,实现以下程序:
编程:
利用多线程显示此主页资源;在程序中实现山东建筑大学主页的显示和超链接的运行。
运行效果如下图所示:
实验报告一书写要求:
实验名称:
使用多线程技术下载网络资源数据文件
一、实验目的
熟悉java运行环境,编程掌握Java输入输出流和Swing组件的用法。
二、实验环境
一般微机即可,软件MyEclipse,JDK1.5以上版本即可。
三、实验内容
1)搭建java运行环境
2)JavaIO流的用法
3)Swing组件及事件处理
四、实验步骤
这里描述一下你所完成的7个程序,并绘制第二题和第五题的程序流程图。
五、回答问题
字节流和字符流的区别是什么?
如何进行转换?
URL访问网络资源的基本步骤是什么?
简述线程的两种创建方式。
简述InetAddress类的主要功能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 编程 技术 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)