《Java技术》实验指导书 - 2015

更新时间:2023-09-19 18:39:01 阅读量: 小学教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《Java程序设计》实验指导书

实验提交要求:实验时,在计算机中建立分别如下目录:D:\\学号\\src和 D:\\学号\\class,分别用来放置Java源文件和编译后的字节吗文件(注:每位同学分别用自己的学号建立目录)。

1 / 5

实验一 类的封装、继承、多态

一、实验目的

1.复习、理解OOP的特征——封装、继承和多态。 2.学会使用Java编写简单的类。理解类的属性和方法。 3.掌握关键字private, protected, public的作用。 4.掌握多态的概念。 二、实验内容

1.分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:

(1) Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐

标),Point2D的构造方法要实现对其成员变量x, y的初始化。 (2) Point2D有一个void型成员方法offset(int a, int b),它可以实

现Point2D的平移。

(3) Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z (分

别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),两者均可实现对Point3D的成员变量x, y,z的初始化。

(4) Point3D有一个void型成员方法offset(int a, int b,int c),该

方法可以实现Point3D的平移。

(5) 在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,

p2d2,打印出它们之间的距离,再实例化两个Point3D的对象p3d1,p3d2,打印出他们之间的距离。

提示:java.lang.Math.sqrt()方法

2.创建一个数组,随机生成Point2D或者Point3D的对象放于其中。最后依次调用数组中每个对象的“打印方法” ,显示数组中存储的对象是什么。 提示:java.lang.Math.random()方法 或者 java.util.Random类 三、思考题

1.你对面向对象的理解。

2.什么是多态?Java中如何实现多态?

2 / 5

实验二 货物进销管理系统

一、实验目的

1.掌握Java中文件的读写操作。

2.学会使用Java提供的实用类(Vector, ArrayList)来完成特定的功能。 3.掌握字符串类(String, StringBuffer)的使用。 4.掌握用面向对象的方法分析和解决复杂问题。

二、实验内容

编写一个Inventory.java完成以下功能(没有学过Java文件处理之前,各位

同学可以使用硬编码将数据放进两个Vector变量里。等学过Java文件处理之后,再补充数据文件读取部分):

1.程序首先打开并读取Inventory.dat中记录的所有库存记录,然后读取

Transactions.dat,处理这个文件中包含的事务,记录发货记录到Shipping.dat,并记录错误信息到Errors.dat中。最后更新库存到另外一个文件NewInventory.dat中。

2.文件Inventory.dat和NewInventory.dat的每行包含一个存货记录,没条

记录包含下面一些字段息,这些字段之间用一个tab分开(见后面的文件格式):

字段 Item number Quantity Supplier Description 格式和含义 字符串型,货物编号 整型,货物数量 字符串型,供应商编号 货物描述 3.字段Items按照从小到大的顺序写如文件的。注意Item号不必连续,如

Item号为752的后面可能是800。

4.文件Transactions.dat包含几个不同的事务处理记录(每行一条记录)。

每条记录前面以一个大写字母开头,表示这条记录是什么类型的事务。在不同的大写字母后面是不同的信息格式。所有的字段也是以tab键分开的(见Transactions.dat文件格式)。

5.以'O'开头的事务表示这是一个发货,即某一种货物应该发给特定的客户。Item号和数量Quantity的格式如上面表格定义。Custom编号和上面的Supplier编号一致。处理一条定单记录(以'O'开头的事务)意味着从减少库存记录中相应

3 / 5

货物的数量(减少的数量=发货单中的数量),记录发货信息到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.

4 / 5

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

Transactions.dat

三、思考题

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

5 / 5

本文来源:https://www.bwwdw.com/article/8mph.html

Top