《Java程序设计》实验指导书 联系客服

发布时间 : 星期日 文章《Java程序设计》实验指导书更新完毕开始阅读

货物的数量(减少的数量=发货单中的数量),记录发货信息到Shipping.dat中。注意:Inventory.dat中的quantity不应该小于0,如果对于某一种货物,库存的数量小于发货单的数量的话,系统应该停止处理发货单,并记录出错信息到Errors.dat。如果对于某一种货物有多个发货单,而且库存总量小于这些发货单的总和的话,系统应该按照发货单中的数量从小到大的有限原则满足客户。也就是说,对于某一种货物如果一个数量Quantity少的发货单没有处理之前,数量Quantity多的发货单永远不会被处理。(这种处理原则不受发货单记录在Transactions.dat的先后顺序影响)

6.以'R'开头的事务表示这是一个到货单记录,在'R'后面是Item号和它的数量。处理一条到货单意味着增加库存中相应货物的数量(增加的数量=到货单中的数量)。注意如果在Transactions.dat文件中,到货单出现在发货单之后,到货单中的货物数量可以用来填补发货单中的数量(可以理解成在Transactions.dat中,优先处理到货单)。

7.以'A'开头的事务表示向库存中增加一种新的货物(即这种货物以前库存中没有),在'A'后面是Item号,供应商supplier以及货物的描述description。处理一个新增货物记录意味着向库存中增加一个数量Quantity为0的新的Item。你可以假设在一个Transactions.dat中,新增货物记录总是出现在第一个到货单之前。

8.以'D'开头的事务表示从库存中删除一种货物,在'D'后面是Item号。删除操作总是在所有的事物处理之后才被处理,以保证对于可能出现的同一种货物的发货单的操作能在删除之前被正确处理。如果要删除的某种货物的库存量Quantity不为0的话,系统应该向Errors.dat记录出错信息。

9.文件Shipping.dat中的每一行代表给某一客户的发货信息。Shipping.dat中的每一行分别是客户编号、Item号、货物数量,它们之间用tab键分隔。如果发货单中有两条客户编号和Item编号一样的记录,在Shipping.dat中应该将这两条发货信息合并(即将它们的数量相加)。

10.Errors.dat文件包含未发送的发货记录和库存量大于0的删除记录。Errors.dat每一行包含Custom编号、Item编号以及发货单上的数量Quantity。对于删除操作,Custom编号为0,数量Quntity为库存中的Quantity.

5 / 7

11.实验测试数据: Inventory.dat

Transactions.dat

三、思考题

1. 对整个实验进行总结,写出实验心得。 6 / 7

实验四 基于GUI的网络通信程序设计

一、实验目的

1.掌握Java中GUI程序的编写,包括事件监听机制。

2.掌握Java的网络通信编程,ServerSocket,Socket类的使用。 3.掌握Java中多线程的编程,Thread类,Runnable接口的使用。 4.掌握用面向对象的方法分析和解决复杂问题。

二、实验内容

编写程序完成以下功能:

(1) 设计一个基于GUI的客户-服务器的通信应用程序,如图1,图2所示。

图1 Socket通信服务器端界面

图2 Socket通信客户端界面

(2) 图1为Socket通信服务器端界面,点击该界面中的【Start】按钮,启动

服务器监听服务(在图1界面中间的多行文本区域显示“Server starting…”字样)。图2为Socket通信客户端界面,点击该界面中的【Connect】按钮与服务器建立链接,并在图2所示界面中间的多行文本区域显示“Connect to server…”字样,当服务器端监听到客户端的连接后,在图1界面中间的多行文本区域追加一行“Client connected…”字样,并与客户端建立Socket连接。

(3) 当图1所示的服务器端和图2所示的客户机端建立Socket连接后,编

程实现这两端的数据通信,每次将接收到对方的数据追加显示在多行文本框中。

三、思考题

1. 对整个实验进行总结,写出实验心得。

2. 在完成上述实验内容的基础上,尝试实现服务器端能够与多个客户机进行通信。

7 / 7