《Java基础入门》 - 课后习题 下载本文

博学谷——让IT教学更简单,让IT学习更有效

}

}

jframe.setSize(150, 200); jframe.setVisible(true);

五、简答题。

1、请简述GUI中实现事件监听的步骤。 2、AWT和Swing的区别 六、编程题

1、编写一个JFrame窗口,要求如下:

1)在窗口的最上方放置一个JLabel标签,标签中默认的文本是“此处显示鼠标右键点击的坐标” 2)为JFrame窗口添加一个鼠标事件,当鼠标右键点击窗口时,鼠标的坐标在JLabel标签中显示 2、编写一个JFrame窗口,要求如下:

1)窗口中的NORTH区域中放置一个JPanel面板 2)JPanel面板中从左到右依次放置如下组件: JLabel标签,标签的文本为“兴趣”

三个JCheckBox多选按钮,文本分别为“羽毛球”、“乒乓球”、“唱歌” JLabel标签,标签的文本为“性别”

两个JRadioButton按钮,文本分别为“男”、“女”

3)窗口的CENTER区域放置一个JScrollPane容器,容器中放置一个JTextArea文本域 4)当点击多选按钮和单选按钮时,会把选中按钮的文本显示在JTextArea文本域中。

3、编写一个JFrame窗口,要求如下:

1)窗口包含一个菜单栏和一个JLabel标签。

2)菜单栏中有两个菜单,第一个菜单有两个菜单项,它们之间用分隔符分开,第二个菜单有一个

菜单项。

3)JLabel标签放置在窗口的中间(即BorderLayout.CENTER),当点击菜单项的时候,菜单项中的

文本显示的JLabel标签中。

第10章 网络编程

一、填空题

1、TCP协议的特点是 ,即在传输数据前先在 和 建立逻辑连接。

2、在计算机中,端口号是用 字节,也就是16位的二进制数表示,它的取值范围是 。 3、TCP/IP协议被分为四个层,分别是 、 、 、 。

4、在JDK中,IP地址用 类来表示的,该类提供了许多和IP地址相关的操作。。 5、使用UDP协议开发网络程序时,需要使用两个类,分别是 和 。 二、判断题

1、由于UDP是面向无连接的协议,可以保证数据的完整性,因此在传输重要数据时建议使用UDP协议。

2、在网络通信中,对数据传输格式、传输速率、传输步骤等作了统一规定,只有通信双方共同遵守这个规定才能完成数据的交互,这种规定称为网络传输协议。

3、在创建发送端的DatagramPacket对象时,需要指定发送端的目标IP地址和端口号。 4、IPv4版本的IP地址使用4个字节来表示,IPv6版本的IP地址使用8个字节来表示。 5、使用TCP协议通信时,通信的两端以IO的方式进行数据的交互。

博学谷——让IT教学更简单,让IT学习更有效

三、选择题

1、使用UDP协议通信时,需要使用哪个类把要发送的数据打包?

A、Socket B、DatagramSocket C、DatagramPacket D、ServerSocket 2、以下哪个是serverSocket类用于接收来自客户端请求的方法? A、accept() B、getOutputStream() C、receive() D、get() 3、以下说法哪些是正确的?(多选)

A、TCP连接中必须要明确客户端与服务器端。

B、TCP协议是面向连接的通信协议,它提供了两台计算机之间可靠无差错的数据传输。 C、UDP协议是面向无连接的协议,可以保证数据的完整性。

D、UDP协议消耗资源小,通信效率高,通常被用于音频、视频和普通数据的传输。 4、以下哪个类用于实现TCP通信的客户端程序? A、ServerSocket B、Socket C、Client D、Server

5、进行UDP通信时,在接收端若要获得发送端的IP地址,可以使用DatagramPacket的哪个方法? A、getAddress() B、getPort() C、getName() D、getData() 6、以下哪个方法是DatagramSocket类用于发送数据的方法? A、receive() B、accept() C、set() D、send()

7、在程序运行时,DatagramSocket的哪个方法会发生阻塞? A、send() B、receive() C、close() D、connect() 8、TCP协议的“三次握手”中,第一次握手指的是什么? A、客户端再次向服务器端发送确认信息,确认连接。

B、服务器端向客户端回送一个响应,通知客户端收到了连接请求。 C、客户端向服务器端发出连接请求,等待服务器确认。 D、以上答案全部错误

四、简答题

1、网络通信协议是什么?

2、TCP协议和UDP协议有什么区别?

3、Socket类和ServerSocket类各有什么作用? 五、编程题

请按照题目的要求编写程序并给出运行结果。

1、 使用InetAddress类获取本地计算机的IP地址和主机名,甲骨文公司(www.oracle.com)主机的IP地

址。 提示:

1)通过InetAddress.getLocalHost();获取本地计算机的InetAddress对象

2)通过InetAddress.getByName(\获取Oracle公司的InetAddress对象

2、 使用UDP协议编写一个网络程序,设置接收端程序监听端口为8001,发送端发送的数据是“hello

world”。 提示:

1)使用new DatagramSocket(8001)构造方法创建接收端的DatagramSocket对象,调用receive()方

法接收数据。

2)发送端和接收端使用DatagramPacket封装数据,在创建发送端的DatagramPacket对象时需要

指定目标IP地址和端口号,端口号要和接收端监听的端口号一致。 3)发送端使用send()方法发送数据。 4)使用close()方法释放Socket资源。

3、 使用TCP协议编写一个网络程序,设置服务器程序监听端口为8002,当与客户端建立连接后,向

博学谷——让IT教学更简单,让IT学习更有效

客户端发送“hello world”,客户端接负责将信息输出。 提示:

1)使用ServerSocket创建服务器端对象,监听8002端口,调用accept()方法等待客户端连接,当与客户端连接后,调用Socket的getOutputStream()方法获得输出流对象,输出“hello world。 2)使用Socket创建客户端对象,指定服务器的IP地址和监听端口号,与服务器端建立连接后,

调用Socket的getInputStream()方法获得输入流对象,读取数据,并打印出来 3)在服务器端和客户端都调用close()方法释放socket资源。