77范文网 - 专业文章范例文档资料分享平台

《Java技术》实验指导书 - 2017(20170905)

来源:网络收集 时间:2020-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

《Java技术》实验指导书

实验一

Java开发环境使用与面向对象编程

一. 实验目的

1. 掌握JDK的安装步骤(有条件的话可以在Linux系统下安装)。 2. 理解环境变量PATH, CLASSPATH的作用,以及它们的设置方法(Win98和Win2000/XP、

Win7、Win8下的设置方法有所区别)。

3. 熟悉记事本(或JCreator)编辑环境,编写简单的Application程序,并编译和解

释执行。

4. 记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。 5. 复习、理解OOP的三大特征——封装、继承和多态。 6. 学会使用Java编写简单的类。理解类的属性和方法。

7. 掌握关键字private, protected, public的作用,掌握静态类,内部类的概念。 8. 掌握多态的概念。 二. 实验内容

1. 下载最新版本的JDK,并安装。

2. 设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。

3. 在记事本(或JCreator)环境下编写一个HelloWorld.java程序,在DOS提示符下编译并执行这个程序。

4. 编写一个类A,它位于包a中,保存到A.java中,再编写一个类B,它位于包b中,保存到B.java中。在类B中实例化类A的一个对象。分别编译类A和类B。 5. 分别编写两个类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,打印出它们之间的距离,再实例化两个Point2D的对象p3d1,p3d2,打印出他们之间的距离。

三. 思考题

1. 什么是JVM,它的作用是什么?

2. 如何理解PATH和CLASSPATH,,如何设置它们。 3. 创建子类对象是的各步骤做了什么?

4. 什么是面向对象的多态性,在程序中如何体现的?

1 / 6

实验二 基于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

2 / 6

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

3.当图1所示的服务器端和图2所示的客户机端建立Socket连接后,编程实现服务端、客户端之间的“单向通信”:在客户端的输入界面发送消息,在服务端接收该消息,并将接收到对方的数据追加显示在多行文本框中。 三、思考题

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

2. 在完成上述实验内容的基础上,尝试实现“双向通信”功能,即服务端、客户端之间可以相互发送、接收消息,并以此作为实验成绩评优的加分依据。

3 / 6

实验三 Java Web编程

一.实验目的

1.掌握Java Web服务器Tomcat的安装、配置。 2.学会简单的HTML表单设计,表单提交。

3.掌握JSP中的request对象、session对象的使用。 二.实验内容

1.下载安装Tomcat8,对其进行配置。启动Tomcat服务器,在浏览器输入 http://127.0.0.1:8080/,查看浏览器输出界面;

2. 定制配置:

(1)修改Tomcat的服务端口为88(默认安装为8080);

(2)修改HTTP GET方式的字符编码为UTF-8(默认为ISO-8859-1);

3.编写一个用户注册模块,功能如下:

(1)设计用户注册表单页面register.jsp,包含:用户名(文本框)、密码(密码框)、性别(下拉框);

(2)设计用户注册数据保存页面doRegister.jsp,用以保存用户数据至user.txt文件。

user.txt中每行保存一个用户,格式为:“用户名,密码,性别”;

(3)如果user.txt已包含同名的用户,提示用户已存在;否则提示注册成功。 4.编写用户登录模块,功能如下:

(1)设计用户登录表单页面login.jsp,包含:用户名(文本框)、密码(密码框); (2)设计登录验证文件doLogin.jsp,获取客户端提交的用户名、密码,然后从user.txt中验证是否存在该用户,登录密码是否正确;

(3)将登录验证结果反馈给用户。 三.思考题

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

2. 学有余力的同学,将实验中注册、登录功能的数据源user.txt换成数据库的user表(自行设计字段),采用JDBC访问数据库;

4 / 6

实验四 货物进销管理系统(选做)

一.实验目的

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

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

编写一个Inventory.java完成以下功能(没有学过Java文件处理之前,各位同学可以使用硬编码将数据放进两个Vector变量里。等学过Java文件处理之后,再补充数据文件读取部分):

1.程序首先打开并读取Inventory.txt中记录的所有库存记录,然后读取Transactions.txt,处理这个文件中包含的事务,记录发货记录到Shipping.txt,并记录错误信息到Errors.txt中。最后更新库存到另外一个文件NewInventory.txt中。 2.文件Inventory.txt和NewInventory.txt的每行包含一个存货记录,没条记录包含下面一些字段息,这些字段之间用一个tab分开(见后面的文件格式):

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

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

5.以'O'开头的事务表示这是一个发货订单,即某一种货物应该发给特定的客户。Item number和Quantity的格式如上面表格定义。Custom编号和上面的Supplier编号一致。处理一条定单记录(以'O'开头的事务)意味着从减少库存记录中相应货物的数量(减少的数量=发货单中的数量),记录发货信息到Shipping.txt中。注意:Inventory.txt中的quantity不应该小于0,如果对于某一种货物,库存的数量小于发货单的数量的话,系统应该停止处理发货单,并记录出错信息到Errors.txt。如果对于某一种货物有多个发货单,而且库存总量小于这些发货单的总和的话,系统应该按照发货单中的数量从小到大的有限原则满足客户。也就是说,对于某一种货物如果一个数量Quantity少的发货单没有处理之前,数量Quantity多的发货单永远不会被处理。(这种处理原则不受发货单记录在Transactions.txt的先后顺序影响)

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

7.以'A'开头的事务表示向库存中增加一种新的货物(即这种货物以前库存中没有),

5 / 6

在'A'后面是Item number,供应商supplier以及货物的描述description。处理一个新增货物记录意味着向库存中增加一个数量Quantity为0的新的Item。你可以假设在一个Transactions.txt中,新增货物记录总是出现在第一个到货单之前。

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

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

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

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

Transactions.txt

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

6 / 6

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《Java技术》实验指导书 - 2017(20170905)在线全文阅读。

《Java技术》实验指导书 - 2017(20170905).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1090193.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: