当前位置:文档之家› 《Java语言程序设计》实验指导书

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

Java语言程序设计实验指导书万静编北京化工大学信息科学与技术学院2007年12月前言《Java语言程序设计》是一门实践性很强的课程,学生必须结合大量的编程练习才能更好地理解和掌握课程内容。

通过与课程内容相配合的实验教学环节,使学生在深入理解课程内容的基础上,体验和领会程序设计的步骤和方法,学会如何解决具体的问题。

本门课程共设7个实验,实验题目如下:(1)Java语言基础;(2)类与对象;(3)图形绘制;(4)事件处理和图形化用户界面;(5)多线程;(6)文件处理;(7)综合实验。

实验时间地点(1)时间:第6周至第13周,周四下午8,9节,电教楼一层机房实验环境安装JDK1.6作为基本开发平台,同时安装了Textpad,Eclipse和NetBeans。

为学生提供了三种不同的Java开发环境:JDK和文本编辑器、JDK和与JDK集成的文本编辑器(Textpad)以及集成开发环境(Eclipse,NetBeans)。

学生可以根据学习的进展,在初期采用前两种相对简单的开发环境,在后期学习使用集成开发环境,掌握在实际工作中被广泛使用的集成化开发环境。

电教楼二层机房开机后进入windows2000,所有内容安装在d:\java\目录下。

安装了以下内容:JDK1.6,文档,eclipse, netbeans, textpad。

电教楼一层机房开机后进入windowsxp,在桌面上有java文件夹,所有内容均在文件夹中。

实验课的安排在实验中,至少完成7个实验。

在每个实验中,一般包括多个可选的实验内容,学生可根据自身情况选择一个实验内容完成。

按照顺序,每次完成一个实验。

实验的检查实验完成后,学生需要在机房现场向指导教师演示和讲解程序,还需提交实验报告。

指导老师根据程序完成质量和实验报告的质量给予评分。

实验报告包括源代码、输入输出的结果和小结。

源代码需要至少包含20%的注释。

每次实验提交到Java实验平台。

每次实验提交的截止日期为下一次实验之前。

前6次实验每个5分,第7次实验10分。

若实验考核不合格,将导致课程总成绩不合格。

目录前言 (2)实验一 JA V A语言基础 (5)实验二类与对象 (9)实验三图形绘制 (10)实验四事件处理和图形化用户界面 (12)实验五多线程 (13)实验六文件处理 (14)实验七综合实验 (15)实验一 Java语言基础1.1 实验目的(1)熟悉使用Textpad来编写和运行程序;(2)掌握Java语言的基本语法和程序结构;(3)掌握输入输出的基本方法;(4)掌握字符串的处理。

1.2 实验要求(1)学会使用Textpad环境,掌握编辑、编译和运行Java程序的完整过程;(2)认真复习Java语言基础知识;(3)在Textpad环境下完成选做实验内容;(4)认真撰写完整的实验报告;1.3 实验内容(1)熟悉Textpad开发环境,了解菜单和工具栏的意义,学会创建、编辑、编译和运行Java程序;学会使用JDK文档查找需要的信息。

(2)验证回文串。

编写程序,验证一个字符串是否为回文串:是否从前读它和从后读它都是一样的。

例如,mom,dad是回文串。

该程序接收用户输入的字符串,判断是否为回文串,然后将判断的结果输出。

在验证回文串时,忽略大小写、空格和标点。

示例输出如图1、图2所示。

图1 验证回文串输入界面图2 验证回文串输出界面(3)三子棋。

编写程序,实现简单的三子棋游戏。

在三子棋中,双方在3*3的棋盘中轮流下棋,一方用*表示,另一方用O表示。

如果一方的3个棋子占据了同一行,同一列或者对角线,则该方获胜。

如果棋盘已被棋子占满,但没有一方获胜则出现平局。

在程序中,一方为用户,用户在界面上输入每次下棋的位置;另一方下棋的位置为随机自动生成。

示例输出如图3、图4所示。

图3 三子棋输入界面图4 三子棋结束界面1.4 实验步骤(1)首先,确保实验机器上是否安装Textpad、JDK1.6和Java帮助文档;(2)参考相关资料和文档,掌握Textpad使用方法和Java程序的编辑、编译、运行的完整过程;(3)根据自身掌握知识的情况,选作实验内容,并完成编码、调试和运行。

1.5 实验提示(1)采用Scanner类或者JOptionPane类中提供的方法输入,输出采用System.out中的方法或JOptionPane类提供的方法。

(2)字符串处理可以使用String或StringBuffer类。

(3)public类名和文件名相同。

Textpad开发环境简介启动并进入Textpad的两种方法:(1)在开始菜单上,选择程序,然后Textpad,再选择Textpad4.7.3中文版。

(2)双击桌面上的Textpad的图标。

启动Textpad之后,就可以看到如图5所示的主界面。

在Textpad的文件菜单下选择新建文件,输入程序代码,然后保存,保存时选择文件类型为Java程序。

代码编写完成后,点击工具菜单下的编译Java,则开始编译;编译通过后点击工具菜单下的运行Java应用程序即可运行程序。

如要退出开发环境,可选择文件菜单下的退出命令。

NetBeans开发环境简介启动并进入NetBeans的两种方法:(1)在开始菜单上,选择程序,然后NetBeans5.5,再选择NetBeans IDE。

(2)双击桌面上的NetBeans的图标。

启动NetBeans之后,就可以看到如图6所示的主界面。

关于主界面上菜单、工具栏的详细介绍,可以参考帮助中的快速入门指南。

如要退出开发环境,可选择文件菜单下的退出命令。

图5 Textpad开发环境界面图6 NetBeans开发环境及面Eclipse开发环境简介启动并进入Eclipse的方法:双击桌面上的Eclipse的图标。

启动Eclipse之后,就可以看到如图7所示的主界面。

关于主界面上菜单、工具栏的详细介绍,可以参考帮助说明,这里不再详细介绍。

如要退出开发环境,可选择文件菜单下的退出命令。

图7 Eclipse开发环境界面JDK帮助文档的使用双击桌面上的JavaAPI图标,就可打开JDK帮助文档。

在左侧的搜索栏可以输入要查找的内容,则会显示相关的主题,点击目标主体,则在右部出现该主题的相关内容。

如果是一个类,则会显示这个类的类层次结构、实现的接口、说明、字段、构造方法和方法的列表和说明。

文档的界面如图8所示。

图 8 JDK帮助文档界面实验二类与对象2.1 实验目的(1)理解面向对象程序设计与过程化程序设计的区别,理解类和对象的概念,掌握如何编写和使用类;(2)理解数据成员、方法和构造方法的概念,掌握在类中的声明和使用;(3)理解重载的概念,掌握重载的使用;(4)理解继承和多态的概念,掌握它们的使用;(5)理解封装的概念,掌握封装的使用。

2.2 实验要求(1)认真理解类、对象、数据成员、方法、构造方法、重载、多态、继承、封装等基本概念;(2)掌握类的定义和使用方法;(3)在Textpad环境下完成选做实验内容;(4)认真撰写完整的实验报告。

2.3 实验内容(1)复数类。

编写一个复数类,可以进行复数加法和减法运算。

编写一个包含main方法的类(应用程序)测试该复数类。

要求该复数类至少包含一个无参的构造方法和一个带参的构造方法;数据成员包括复数的实部和虚部,为double类型;包括两个方法,分别实现复数的加法和减法运算。

示例输出如图9所示。

(2)图书借阅。

编写三个类,图书类、学生类和测试类,可以处理简单的书籍借阅情况,包括借书和还书等。

图书类的数据成员包括书名、书号和借书学生等;方法包括借书、还书和显示书籍信息等。

学生类的数据成员包括姓名、学号和所借书籍等;方法包括显示学生信息等。

测试类是一个应用程序,在该程序中创建图书类和学生类对象,完成图书的借阅和归还。

(3)Employee类层次结构。

创建四个类,分别为Employee类、SalariedEmplyee类、HourlyEmployee类和CommissionEmployee类。

其中Employee类是其他三个类的父类。

Employee类包含姓名和身份证号。

除此之外,SalariedEmployee类还应包含每月工资;HourlyEmployee类还应包含每小时工资数和工作时间数;CommissionEmployee还应包含提成比例和销售总额。

每个类都应有合适的构造方法、数据成员的设置和读取方法。

编写一个应用程序,创建这些类的对象,并输出与对象相关的信息。

注意子类有时需调用父类的构造方法和被覆盖的方法,成员变量定义为private,对有些方法实现重载。

图9 复数类的输出界面2.4 实验步骤(1)首先,声明和定义类,在类中定义数据成员、方法和构造方法;(2)定义一个包含main方法的类,测试已经定义好的类。

2.5 实验提示(1)注意数据成员的初始化;(2)注意在继承的层次中构造方法的调用次序;(3)注意遵循Java的命名风格;(4)注意public,private,protected的区别和使用。

实验三图形绘制3.1 实验目的(1)理解和图形绘制的相关类的设计思想,掌握它们的使用;(2)理解继承、封装和多态的概念,掌握它们的使用;(3)掌握图形绘制的方法。

3.2 实验要求(1)了解图形绘制的概念、分类和作用;(2)掌握Color类、Fonts类、Graphics类、Graphics2D类的使用;(3)在Textpad环境下完成选做实验内容;(4)认真撰写完整的实验报告。

3.3 实验内容(1)显示函数图像。

编写程序,画出函数f(x)=x*x的图像。

输出示例如图10所示。

图10 显示函数图像界面图 11 绘制时钟界面(2)显示时钟。

编写程序显示一个时钟。

示例输出如图11所示。

(3)绘制图形。

定义4个类,MyShape、MyLine、MyRectangle和MyOval,其中MyShape是其他三个类的父类。

MyShape为抽象类,包括图形位置的四个坐标;一个无参的构造方法,将所有的坐标设置为0;一个带参的构造函数,将所有的坐标设置为相应值;每个坐标的设置和读取方法;abstract void draw(Graphics g)方法。

MyLine类负责画直线,实现父类的draw方法;MyRectangle负责画矩形,实现父类的draw方法;MyOval负责画椭圆,实现父类的draw方法。

编写一个应用程序,使用上面定义的类,随机选取位置和形状,绘制20个图形。

示例输出如图12所示。

图12 绘制图形界面3.4 实验步骤(1)首先自定义一个继承自JPanel的类,重写paintComponent方法,在该方法中完成图形绘制任务;(2)定义一个继承自JFrame的类,在该类中完成界面的设计,将(1)中的定义的面板加入到该框架类中;(3)定义一个包含main方法的测试类,在该类中创建框架类对象,并显示;(4)编译、调试、运行程序。

相关主题