JAVA高级网络编程(作业集)_第1页
JAVA高级网络编程(作业集)_第2页
JAVA高级网络编程(作业集)_第3页
JAVA高级网络编程(作业集)_第4页
JAVA高级网络编程(作业集)_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章「1节测试题

一.单选题

1:IP地址能唯一地确定Internet上每台计算机与每个用户的

(A)距离

(B)费用

(C)位置

(D)时间

答案

C

2:IPv4地址由_____位二进制数组成。

(A)16

(B)32

(C)64

(D)128

答案

B

3:当前因特网IP的版本是o

(A)IPV6

(B)IPV5

(C)IPV4

(D)IPV3

答案

C

4:www.cugnc.com是Internet中主机的。

(A)硬件编码

(B)密码

(C)软件编码

(D)域名

答案

D

5:在Internet中,主机的IP地址与域名的关系是。

(A)IP地址是域名中部分信息的表示

(B)域名是IP地址中部分信息的表示

(C)IP地址和域名是等价的

(D)IP地址和域名分别表达不同含义

答案

C

6:J2EE不支持的网络协议是o

(A)Telnet

(B)WAP

(C)FTP

(D)HTTP

答案

B

7:提供不可靠传输的传输层协议是0

(A)TCP

(B)IP

(C)UDP

(D)PPP

答案

C

8:TCP协议称为o

(A)网际协议

⑻传输控制协议

(C)Network内部协议

(D)中转控制协议

答案

B

9:传输控制协议/网际协议即,属工业标准协议,是Internet采用的主要协议。

(A)Telnet

(B)TCP/IP

(C)HTTP

(D)FTP

答案

B

10:LAN通常是指o

(A)广域网

(B)局域网

(C)资源子网

(D)城域网

答案

B

11:TCP/IP协议是Internet中计算机之间通信所必须共同遵循的一种。

(A)信息资源

⑻通信规定

(C)软件

(D)硬件

答案

B

12:域名服务DNS的主要功能为-

(A)通过请求及回答获取主机和网络相关信息

(B)查询主机的MAC地址

(C)为主机自动命名

(D)合理分配IP地址

答案

A

13:用于解析域名的协议是0

(A)HTTP

(B)DNS

(C)FTP

(D)SMTP

答案

B

14:合法的IP地址是

(A)202:114:200:202

(B)202.714.100.202

(C)202,114,200,202

(D)202.114.200.202

答案

D

二.问答题

1:IP地址的概念和作用是什么?

答案

IP地址:用句点分割的四组数字,每组数字由8位二进制组成,用于辨别和确定网络中应

用程序所要连接的计算机,因特网通过IP地址唯一标识网络中的每台计算机。

2:域名的定义是什么,并举例说明域名?

答案

域名是Internet网络上的一个服务器或一个网络系统的名字,在全世界,没有重复的域

名。域名的形式是以若干个英文字母或数字组成,由分隔成几部分,如www.sina.com.

cn就是一个域名。

3:举出至少三项Java支持的因特网的应用层协议?

答案

Java支持的因特网的应用层协议包括:FTP(文件传输协议)、HTTP(超文本传输协议)、

Telent(远程终端协议)、SMTP(简单邮件传送协议)。

三.问答题

1:用Java语言编写程序,根据域名www.263.com查找服务器IP地址并显示。

答案

1.

importjava,netInetAddress(

importjava.net.UnknownHostException।

publicclassGetIP(

publicstaticvoidmHin(String[Jargs)(

try(

InetAddressad=InetAddress.getByName("www.263.com")♦

System,outprindnCad)\«

)

catch(UnknownHostExceptione){

System,out.println(e.toString())i

)

2:用Java语言编写程序,得到本机的主机名并显示。

答案

2.

imponjavo<net.InetAddress)

importjava.net.UnknownHostExceptioni

publicclassGetHostName(

publicstaticvoidmain(String[Jargs){

、try{

InetAddressname=InetAddress.getByName(,r127.0.0.1**);

System.out.println("主机名:M4-name.getHostName())»

)

catch(UnknownHostExceptione){

System,out.printin(e.toStringO)।

}

第1章「2节测试题

一.单选题

1:URL的意思是o

(A)统一资源定应叶

(B)Internet协议

(C)简单邮件传输协议

(D)传输控制协议

答案

A

2:统一资源定位器的英文缩写是

(A)UPS

(B)ULR

(C)URL

(D)USB

答案

C

3:Web页通常包含转到其他Web页或其他Web站点的指针链路,称为。

(A)ISP

(B)IP地址

(C)超级链接

(D)统一资源定位器

答案

C

4:HTTP的中文意思是0

(A)布尔逻辑搜索

(B)电子公告牌

(C)文件传输协议

(D)超文本传输协议

答案

D

5:URL的含义是o

(A)信息资源在网上什么位置和如何访问的统一的描述方法

(B)信息资源在网上什么位置及如何定位寻找的统一的描述方法

(C)信息资源在网上的业务类型和如何访问的统一的描述方法

(D)信息资源的网络地址的统一的描述方法

答案

D

6:一个URL地址为:http://www.jsu.edu.cn:80/local/index,html,则其中www.jsu.e

du.cn的含义为

(A)通信协议

(B)参考点

(C)主机名称

(D)通信端口

答案

c

7:下列组件可以为其设置布局管理器。

(A)JDialog

(B)JFrame

(C)JWindow

(D)JPanel

答案

D

二.问答题

1:URL的定义是什么?由哪几部分组成?

答案

URL的定义:统一资源定位器。

URL的组成:URL包括两部分内容,协议名和资源名;资fe名又包括主机名,端口号,文件

路径。

2:写出URL地址的基本格式,列出至少两种URL地址并给出实例。

答案

URL地址格式排列为:scheine://host:port/path或协议:〃主机名:端口号/文件路径

以下是3类URL及其实例:

文件URL

用URL表示文件时,服务器方式用file表示,后面要有主机IP地址、文件的存取路径(即

目录)和文件名等信息。

例:file:///E:/Xun1ei/ThinkandGrowRich.pdf.

网络新闻URL利用URL表示网络新闻组时,如果是Usenet的话只婆指荒出新闻组的名字即

可。

例:news:sina.gardening

HTTPURL

使用超级文本传输协议HTTP,提供超级文本信息k#的资源。

例:http://www.nwpu.edu.cn/index,html

3:写出URL的两个构造函数。

答案

3.publicURL(Stringstr)publicURLCStringpro,Stringhost,intport.StringHie)

throws

MalforedURLExceptionthrowsMalforedURLException

三.问答题

1:程序功能:应用JavaApplet技术,在网页中显示一列有四个选项的菜单,用户用鼠标点

击相应网站的名称,则跳转至相应网站。程序分为Java部分和HTML部分。

importjava,awe,*i

importjavax.swing.♦i

importjavaxswing,event.**

importjava.utiLHashMapi

importjava.net.»।

importjava,appletAppktContextj

publicclassBrowsePageextends{

HashMapsitesj

JListnamelist।

StringnameEJ={"sina"Jsohu”."163"•"yahoo"};

URLurl口=newURLC4],

*

publicvoidinitO!

try{.

url[0j=newURL(rhnp://www.sina.com.can)i

urlCl]=newURL(rthttp://www.sohu,com**)i

tiH£2]=newURL("http://www.163.8m")j

url[3j=newURL("http://www.yahookCOOLcn*1)i

]

catch(^>{

System,outpnndnte.toStringC));

}

sites—newHashMap。$

£or(inti==OjiVname.length近++乂

sites.put(name[iJfUrlCi])।

)

Containercontainer=getContentPaneOi

container,add(newJLabel(°pleaseselectwebthatyouwant”)>

BordcrLayoutNORTH))

namelist=newJLht(name){

container.add(newJScrollPane(namelist)«BorderLayoutCENTER)।

namelistaddListSelectionListener(newMyJlistOJi

)

classMyjlistimplementsListSelectionListener<

publicvoidvalueChanged(ListSelectionEveatevent){

Objectobject—namelist.i

URLcontext=(URL)i

AppletContextbrowser=getAppletContextO।

Java部分:

browser.showDocumenrCcontextr\b!ank*,)i

HTML部分

pagel</title>;

<body>

appletcode=**.10widths•*200**height—**100

<Z/applet>

</body>

答案

Java部分:

imponJava.awt.*$

importjavax,swing.*1

importjava工swing,event.♦1

importjava«utilHashMapi

importjava,net*j

importjava,appletAppletContexc^

publicclassBrowsePageextendsJApplet{

Ha^hMapsitesi

JListnamelist।

Stringnamed口("sina"Jsohu"J163”/yahoo"},

URLurl口=newURLE4jj

publicvoidttut(){

try1

=newURL("http://www.sina«com.cn',)i

url[l]=newURLC,httpr//www.sohu.com")j

url[2]=newURL("http"/www.163.com"),

1

url[31=newURL(*httpx//www.yahoo,com,cn*)?

)^、

catchCMalforniedURLExceptione){

System,out.println(e.toStringO)।

}

sites=newHashMapOi

for(tuti=<hiVname,lengthM++){

sites.put(nameCi]♦url[ij)j

}

Containercontainer=getContentPaneOi

container,add(newJLabelCpleasesdectwebthatyouwant")»

BorderLayout,NORTH)।

namelist=newJList(name):

container.addCnewJScrollPaneCnamelist)«BorderLayout.CENTER))

namelistaddListSelectionListener(newMyjlist())i

)

classMyjlistimplementsListSelecdonListsierl

pubHcvoidvalueChanged(ListSelectionEventevent)(

Objectobject=namelistgetSeleqtedValue。.

URLcontext—《URL)8i-et《QHgct),

AppletContextbrowser=getAppletContextO।

browser,showDocument(context»*.blank*').

}

}

)

HTML部分

<htmE>

<title>pagel</title>

<body>

〈appletcode="BewsePage.class"width-'^OO11height-T,100w>

</applet>

</body>

</htmE>

2:以JavaSwing技术制作web浏览器,在文本框中输人URL并按回车键,即可跳转到指定

importjava.awt.*;

importjava.awt.event.»।

importjavajuswing.*«

...,...

importjavax.swing,event.*<

importjava.io.*r

importjava,net.*.

publicclassMyBrowserextendsJFrame{

JLabeljLabeli

JTextFieldM

JEditorPanecontent>

publicMyBrowserO{

super。我的浏览霜

Containercon=getComentPaneO>

jLabel=newJLabeK”输入便接的网址Jh

tf=newJTextFieldC***)5

tf.addActionListenerCnewMyFieldDealingC>);

JPanelpanel=newJPanelO1

panehsetLayout(newGridLayoutC

panel.add(jL&bel)1

paneladd(rf).

cortadd(panel・BotckrLayoutNORTH)j

content=newJEdiwrPaneO»

H,「・・

concent.setEditable(false)1

concent,addHyperlinkListener(newMyHyperList&eiC>)>

,,.,.♦.一

con.add(newJScrollPaneCtonteuO«1

setSize(400,300)i、.(

setVisibleC)।''•、、..

网页。

voidgerThePage(Stringsite){

tty(

content.setPage(sitc)i

)

catch(lOExceptionex){

JOptionPane.showMessageDialog(this,"连接错误J"错误提示”,

JOptionPane.ERROR.MESSAGE),

)

},।

classMyFieldDealingimplementsActionListener{

publicvoidactionPerformedCActionEvente){

Stringstr-,〃获得用户输入的URL

igetThePage(str)।*.',、,

)"

)、

classMyHyperLtstnerimplements{〃监听网页内的链接

publicvoMhyperlinkUpdateCHyperlinkEvente)(

iKe.getEventTypeO=—HyperlinkEventEventType.ACTIVATED)!

Stringstr=vgetURLO.toStringQj〃获得点击的链接

,〃在容器内显示新傕接的内容

publicstaticvoidmain(String[]a唔s){

MyBrowsermb=newMyBrowserO//生成新的对象

mb.setDefaultCloaeOperation(JFrame.EXIT_ON_CLOSE)(

)

答案

2.

importjava.awt.*i

importjava.awt.event.*)

importjavax.swing.*1

importjavax.swing,event,*)

importjava.io«»$

importjava.net.*$

publicclassMyBrowserextendsjFrame{

JLabeljLabeh

JTextFieldtf;

JEditorPanecontentj

publicMyBrowser。{

super("我的浏览辖

Containercon=gecContentPaneO;

jLabel=newJLabe】。输入链接的网址J”

tf=newJTcxtField("“h

tf.addActionListener(newMyFieldDealingO)i

JPane!panel=newJPanelO)

panel.setLayout(riewGridLayout(2.D);

panel,add(jLabel);

panel,add(tf);

con.add《panel.BorderLayoutNORTH)9

content=newJExiitorPaneO>

content.setEditab】e(false),

content.addHyperitnkListenerCnewMyHyperListnerO)»

COILadd(newJScroIlPaneCcontent),BoqderL4yQut.CENTER);

setSize(400,300)j.

setVisible(true)i

voidgetThePageCStringsite){

try(

content.setPage(site)i

}

catch(lOExceptionex){

JOptionPane.showMessageEHak>g(thisJ连接错误。”错误提示J

JOptionPane.ERROR_MESSAGE)।

)

)

classMyFieldDealingimplementsActionListener(

publicvoidactionPerformed(ActionEvente){

Stringstr=tf.gnText。"/获得用户输入的URL

getThePage(str)i

]

)

classMyHyperListnerimplementsHyggrlin^L吐竺net{〃监听网页内的自接

publicvoidhyperlinkUpdate(HyperlinkEvente)<

if《&getEventType()=—HyperlinkEventEventType.ACTIVATED){

Stringstr=e.getURLO.toStringO,〃获得点击的连接

getThePage(str)"/在容器内显示新连接的内容

publicstaticvoidmain(String[]args){

MyBrowsermb=newMyBrowser。"/生成新的对象

mb.setDefaultCloseOperationCJFrame.EXIT_ON_CLOSE)i

第1章1-3节测试题

一.多选题

1:下面正确的创建Socket的语句有

(A)Socketa=newSocket(80)

(B)Socketb=newSocket(〃130.3.4.5〃,80)

(C)ServerSocketc=newSocket(80)

(D)ServerSocketd=newSocket(〃130,3.4.5〃,80)

答案

BC

2:下面的语句创建一DatagramSocket对象,是正确的。

(A)DatagramSocketa=newDatagramSocket()

(B)DatagramSocketb=newDatagramSocket(80)

(C)DatagramSocketc=newDatagramSocketCz,127.0.0.1〃,70)

(D)DatagramSocketd=newDatagramSocketCz,127.0.0.1^)

答案

ABC

3:在服务器www.openlab.com.cn上提供了基于TCP的时间校对服务,该应用使用port为1

3o创建连接到此服务器的语句是。

(A)Sockets==newSocket("www.openlab.com.cn”,13);

(B)Sockets=newSocket(z/www.openlab.com.cn:13");

(C)Sockets=accept("www.openlab.com.cn”,13);

(D)Sockets=accept(":13");

答案

A

二.填空题

1:套接字分为和两种类型。

答案

流式套接字。数据报套接字

2:创建一个tcp客户程序的顺序是0(1)获得I/O流⑵关闭I/O流⑶对I/O流进行

读写操作(4)建立socket(5)关闭socket

答案

41325

3:创建一个tcp服务程序的顺序是。(1)创建一个服务线程处理新的连接⑵创建

一个服务器socket⑶从服务器socket接受客户连接请求⑷在服务线程中,从socket

中获得I/O流(5)对I/O流进行读写操作,完成与客户的交互(6)关闭socket(7)关闭I/O

答案

2314576

4:创建线程(Thread)的方式有两种,一种是继承类,另一种是实现接口—

_o启动线程的方法是。线程启动后运行的是______里的代码。(l)run(2)Th

read(3)Runnable(4)start

答案

2341

三.问答题

1:套接字的概念是什么?

答案

套接字是两个程序进行通信连接的一个断电,一个程序将一段信息写入套接字中,该套

接字将这段信息发送到另一个套接字中,使这段信息能传送到其他程序。

2:叙述客户机和服务器通信的典型执行过程:

答案

服务器监听相应端口的输入

客户机发出一个请求

服务器接收到请求

服务器处理这个请求,并将结果返回给客户机

3:创建客户端套接字的两种构造方法是什么?写出相处的异常处理方法。

答案

Socket(Stringhost,intport)

host为主机域名;port为端口号

异常处理有两种情况:unknownHostExceptior^lHOEception

如果域名解释过程中无法对应IP则抛出未知主机异常,如果套接字打不开则抛出输人输

出异常。

Socket(InetAddresshost,intport)

host为主机域名;port为端口号

异常处理:lOEception

主机地址如果直接采用IP方式给出,则不需要域名的转换,也就不会抛出未知主机异常。

4:客户端套接字读写数据的方法是什么?

答案

读数据:InputStreamgetInputStream()

写数据:OutputStreamgetOutputStream()

5:简述多线程程序的基本原理。

答案

多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个

线程,彼此间互相独立。

多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。

如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的速度非常快,

用户感觉不到其中的区别,因此我们也不用关心它,只需要设想各个线程是同时执行的

即可。

四.问答题

1:编写服务器、客户机程序,完成用户从客户机向服务器发送圆的半径,服务器计算后

向客户机发送结果,结果如效果图1.1,1.2所示。

答案

客户机程序

importjava.io.»j

importjava.net.»i

publicclassClient{

publicstaticvoidmain《String1]args){

try(

SocketconnectToServer-newSocketlocalhost'*,5500)>

DatalnputStreaminFromServer=newDatalnputStreamC

conneccToServer.getlnputStream())i

DataOutputStreamoutToServer=newDataOutputSrream(

connectToServer.getOutputStream0)।

System.out.printing井输出的半径发送到服务器"h

System,our.printin("并输入bye,则终止连接

Strings$

while(true){

System,out.printin("请输入半径J**>i

BuHeredReaderbr=newBuf£eredReader(

newInputStreamReaderOysteDKin))i

s=br.readLine。;

outToServer.writeUTF(s),

outToServerflu^hO$

Stringsl=inFromServer.readUTFO>

if(sl.equah(Mbye"))<

break,

}

System,out.printin("从服务器返回的计算结果;");

System,out.println(sl)<

)

inFromServer.close()।

outToServer.closeO;

connectToServer.closeOt

)

catch(lOExccptione){

&getStackTrsceOi

System,out,println(verrorn)i

}

服务器程序

importjava.io.#i

importjava,net,*;

publicclassServer{

publicstaticvoidmain(String1]args)(

try(

System.out.primln("建立连接并等待连接……

ServerSocketserverSocket=newServerSocket(5500)j

SocketconnectToCHent=serverSocket.accept()$

DatalnputStresminFromClient=newDaUlnputStrc&m(

connectToClicnt.getlnputStreamC))t

DataOutputStreamoutToClient=newDataOutputStream(

connectToClient.getOutputStream())j

Stringstr="";

doubleradius»

while(true){

str=inFromClient.readUTFC);

if(str.equalsC^bye1')){

outToClient.writeUTFC"bye")i

break}

)

radius—Double,parseDoubletstr);

System.out.ptintln("从客户端接收的半径「十radius);

doublearea=radius*radius*Math.Ph

doublevoiume=4*Math.Pl*radius*radius*radius/3;

Strings="半径为"+radius+"圆的面积"+area+

”\n半径为”+radius+,球的体积”十v&ume;

cutToClient,writeUTF(s)j

outToCIient.flush。$

System,"t.primlnC结果已求出并发送到客户J)j

.}//whileend

inFromClient,close0,

outToClient.close。j

connectToClient.closeOj

}//tryend,

catch(lOExceptione){

System,out,primlnC'error“〉:

e.getStackTraceOj(

)

}

)

第1章「4节测试题

一.多选题

1:关于数据报通信(UDP)和流式通信(TCP)的论述,正确的有

(A)TCP和UDP在很大程度上是一样的,由于历史的原因产生了两个不同的名字而已

(B)TCP和UDP在传输方式上是一样的,都是基于流的,但是TCP可靠,UDP不可靠

(0TCP和UDP使用的都是IP层所提供的服务

(D)用户可以使用UDP来实现TCP的功能

答案

CD

2:下列说法是正确的。

(A)UDP协议可以提供可靠的数据流传输服务

(B)UDP协议可以提供面向连接的数据流传输服务

(C)UDP协议可以提供全双工的数据流传输服务

(D)UDP协议可以提供面向非连接的数据流传输服务

答案

D

3:在TCP/IP协议簇中,UDP协议工作在o

(A)应用层

⑻传输层

(C)网间层

(D)网络互联层

答案

A

二.填空题

LTCP/IP的第四层有两个协议,分别是TCP和UDP,TCP协议的特点是,UDP协议

的特点是0

答案

提供面向连接的路服务。提供无连接的数据报服务

2:客户机/服务器模式的优点之一是减少了网络的流量,原因是。

答案

只传递必要的信息

3:电子邮件中的两个协议中,协议是运行在传输程序与远程邮件服务器之间的

协议,协议是运行在本地客户端与邮件服务器之间的协议。

答案

SMTPoPOP

三.问答题

1:UDP数据报通信和部于TCP的套接字通信的主要区别是什么?

答案

对于数据报,客户机和服务器程序创建一个DatagramSocket(数据报套接字)。Data-gr

amSocket不是被动等待建立连接的请求,而是以数据报的形式向指定位置发送数据信息。

四.问答题

1:根据运行结果,以UDP通信技术设计UDP时间校对服务器,并以UDP客户机访问。执行

c<C:\fIHD01S\syste>32\cMd.exe

XMpWork,Net^auaUDPTimeClient

臊务器发送的时间

工50日星期38:6:

XFlyWoi'k\MyNet>B

结果如图1.3,1.4所示。图1.3

|5C:\»IHD0IS\systeM32\c«d.exe-javaD»P...JEE!

服务器启动...

客户地址:/i27.0.0.i客户端口号:4796□

廉塔肩尊津蝠客身通亲时间服兔

船务瞽发送却闻2007年5月150日孰38:6:3

KJ

图1.4

答案

(1)服务器端程序

importjava.io.*j

importjava,net**j

importjava.util.*(

publicclassUDPTimeServer{

privatebyte[]buffer=newbyte[1024]>

privateDatagramPacketinPacket*outPacketi

privateDatagramSocketdatagramSocket;

publicUDPTimeServer()1

System.out.printbK”服务器启动..."h

try{

datagramSocket=newDatagramSockct(8800)i

while(true)^

inPacket=newDatagramPacketCbuffer»buffer,length)j

〃为接收数据准备空间

datagramSocket.receive(iuPficket)>

〃接收数据JOExcepticn

InetAddressclientAddress-inPacketgetAddreasOi

intclientPort=inPacketgetPortOi

String3=newString(inPacket.getDataOt

0,inPacket.getLengthO)i

System,out.printin("客户地址J+clientAddress+

'喀户端口号J+clientPort)i

System,out.printin("收到客户发送数据J+s):

outPacket=newDatagramPackeMbuffer,buffer,length,

clientAddress•clientPon),

outPacket.setDataCgetTimeO)(

datagramSacket.send(outPacket)i//lOException

s=newString(outPacket.getDataO,

09outPacket.getLengthO),

Systemout.println("服务器发送时间J+s):

}

)

catch(SocketExceptione)(

匕printStackTrace()j

)

catch(lOExceptione){

e.printStackTraceO>

publicbyte口getTimcO(

intyear,month▼day,weekday,hour*minute*secondi

Stringsi

Calendartime=Calendar.getlnstanccC))

year=time,get(Calendar,YEAR)»

month=time,get(Calendar.MARCH)+1、

〃月份祸要加1.西方从12月开始计算

day=time,get(Calendar.DAY_OF_YEAR);

weekday=time,get(Calendar.DAY_OF-WEEK)—11

〃星期偏要减1,星期日为开始

hour=time,get(Calendar.HOUR)i

minute—tim匕get(Calendar.MINUTE)(

second-time,get(Calendar,SECOND)।

s=year+“年”+mcnth+"月”+day+"日”+"星期x+weekday+

出"+hour+"J+minute+"J+second:

byte[]date=s.getBytesO)

returndate.

}

publicstaticvoidmain(StringQargs){

UDPTimeServertimeServer=newUDPTimeServerO»

(2)客户端程序

importjava.io.*f

importjava,net»;

publicclassUDPTimeClient{

privatebyre[]buffer—newbyte[1024];

privateDatagramPacketoutPacket,inPscketi

privateDatagramSocketdatagramSocketF

privateInetAddresshostAddresst

publicUDPTimeClient(){

try<

datagramSocket-newDatagramSocket()t

hostAddress-InetAddress.getByName('*localhost1*);

outPacket-newDatagramPacket(buffert

buffer,length,hostAddress.8800〉j

String客户请求时间服务。

outPacket.setData(s,getBytesC));

datagramSocker.send(outPacket)i

System»out.prindn(s),

System,out.primln("客户端收到服务器发送的时间J');

inPacket=newDfitagramPacket(buffer♦buffer,lengthT

hostAddress,8800);

datagramSocket.receiveCinPacket);

s=newString(inPacket.getDara()・0.inP&cket.getLengthO)i

System<out.prindn(s));

)

catch(UnknownHostExceptione){

e.printStackTrace()i

),

catch(SocketExceptione){

e.printStackTrace()]

}

catch(lOExceptione){

e.printStackTraceOj

}

}

'publicstaticvoidmain(String[]args){

newUDPTimeClient()।

第1章卜5节测试题

一.问答题

LReadTestFile类负责完成对文本文档中信息的读取,程序如下,要求绘制其UML图。

importjava.沁.*;

publicclassReadTestFile(

privateBuHeredReaderbu(Reader;

publicStringcorrectAnswer:

publicintteatTitnej

privateStringcorrectAnswer)

publicReadTestFileC)throwslOExcepcion^

bufReader=newBuf(eredReader<newFi1eReader('*test,

Strings-bufReadenreadLtneC);

System,out.printing's="+s):

intil=s.indexOfC©');

inti2=s.indexOf(“分钟”"

s=s.substring(il4-1»i2)s

System,out.println(ws=w+s)j

testTime=Integer.parselntCs)*60*1000?

s=bufRcader.readLineO.?

correctAnswer=s.substring(s.indexQK")+1)i

}

publicintgetTesxTime()<

returntestTimej

)、

publicStringgetCorrectAnswerC){

returncorrectAnswer?

}

publicStringgetTestQuestion(){

StringtestQuesxion=>r,*>

try{

StringBuffertemp=newStringBufferOi

Strings=">

if(bufReader|.—null){

while((s=bufReadcr.readLineO)!=null){

iKs.startsWhhC,*',))(

break)

temp.append("\n'*+s);

if(s.startsWith(.试题结束")乂

bu(Reader.close<)<

}

)

testQuestion-temp.toStringOj

)

}

catch(Exceptione){

testQuestion="试题结束"i

I

returntestQuestiom

答案

2:下列程序以javaawt技术和swing技术实现了图形化界面构造,请根据代码及图1.5

回答以下问题:

⑴界面中共包含了多少个变量JButton类,变量名分别是什么?

⑵界面中共包含了多少个变量JLabel类,变量名分别是什么,作用又是什么?

⑶界面中共包含了多少个变量JTextArea类,变量名分别是什么,作用又是什么?

(4)界面中共包含了多少个变量Chexkbox类,包含了几个单项按钮?

⑸监听按钮点击事件的响应方法是什么?

importjava,awt*j

importjava.awt.event.*;

importjava兀swing.*i♦

imponjava.io.*।

importjava.net.*i

publicclassTestPanelextendsJPanelimplementsActionListener>Runnable{

privateSocketconnectToServer;

privateDatalnputStreaminFromServeri

privateDataOutputStreamoutToServer»

privateThreadthread;

privateTimertestTimerj

privateinttestTitnej

privateJButtonstartButton;

privateJLabelUmeLabeb

privateJTextAreaquesdonArea;

privateCheckboxradioButtonE]-newCheckbox[401.

privateCheckbaxGroupbuttonGroup~newCheckboxGroupO;

privateJButtonanswerButton;

privateJButtonquestionButtont

privateJButtonscoreButtoni

publicTestPanel(luetAddressadd,intport){

initPanelGUK);

try(

connectToServer=newSocket(add,port)j

inFromServer=newDatalnputStreamC

connectTbServer.g«InputStream());

outToServer=newDataOutputStream(

connectToServer.getOutputStreamC))i

System*out.printlnCconnectToServer»getlnetAddressC))i

}.

catch(lOExceptione){

System,out.printlnC^TestPanel连接错误”):

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论