Java程序设计实验讲义(2015年版)资料_第1页
Java程序设计实验讲义(2015年版)资料_第2页
Java程序设计实验讲义(2015年版)资料_第3页
Java程序设计实验讲义(2015年版)资料_第4页
Java程序设计实验讲义(2015年版)资料_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《Java程序设计》实验讲义黑龙江大学计算机学院黑龙江大学软件学院2015年8月目 录前言 4实验要求 5实验1 JAVA程序的编辑、编译、运行环境( 2学时) 61.实验内容 62.预习内容 63.实验类型 64.实验目的 65.实验要求 66.实验提示 7实验2类和对象的使用(2学时) 81.实验内容 82.预习内容 83.实验类型 84.实验目的 85.实验要求 86.思考题 9实验3继承性(2学时) 101.实验内容 102.预习内容 103.实验类型 104.实验目的 105.实验要求 106.思考题 10实验4OBJECT类(2学时) 121.实验内容 122.预习内容 123.实验类型 124.实验目的 125.实验要求 126.思考题 12实验5数组与异常处理(2学时) 131.实验内容 132.预习内容 133.实验类型 134.实验目的 135.实验要求 136.思考题 14实验6图形用户界面(2学时) 151.实验内容 152.预习内容 153.实验类型 154.实验目的 155.实验要求 156.实验提示 16实验7 输入/输出处理(2学时) 171.实验内容 172.预习内容 173.实验类型 174.实验目的 175.实验要求 176.实验提示 17实验8 线程(2学时) 191.实验内容 192.预习内容 193.实验类型 194.实验目的 195.实验提示 196.思考题 203前言《Java程序设计》在面向对象程序设计的基础上,阐述 Java语言的编程基础及其设计方法。内容包括:Java程序的输入输出、表达式与运算符、结构化程序设计、类、属性和方法、继承和重载、包和接口、Applet与图形用户界面以及相关Java网络设计等知识,本课程注重实际应用操作,采用实例讲解为学生进一步学习 J2EE和J2ME打下技术基础。结合对实例的开发,以学生为主体,充分发挥学生的主观能动性,引导学生自学教材部分内容,并锻炼学生自行开发各种小型程序模块;培养和锻炼学生利用 Java语言进行网络编程的能力。《 Java程序设计实验》是以程序设计操作为主的技能课程,它由若干个独立的实验项目组成,与相应的理论课—《 Java程序设计》配套,本课程的目标是:加深学生对课堂讲授内容的理解,从计算机语言的基本概念、面向对象程序设计的基本方法、语法规则等方面加深理解,打好面向对象程序设计、软件开发的良好基础。(2) 在上机实验中,提高学生对 Java语言各部分内容的综合使用能力,逐步掌握 Java语言程序设计的规律与技巧。在对Java程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。通过上机实践,加深学生对计算机软件运行环境、Java集成开发环境的了解。4实验要求《Java程序设计实验》是与《 Java程序设计》理论课配套的实验课程。通过本课程的实验训练,要求学生能运用所学理论知识进行基本的面向对象程序设计, 培养其规范的编程习惯, 掌握基本的操作技能和编程思想。同时要注意培养学生实事求是的科学态度,相互协作的团队精神,为学习后续课程,参加实际工作和开展科学研究打下良好的基础。具体要求是:本课程以实验为主,配合理论课的教学。任课教师需向学生讲清课程的性质,任务,要求,课程安排和进度,平时考核内容,期末考试办法,实验守则及实验室安全制度等。本课程主要设置下列类型的实验:(1)基本操作训练,(2)验证性及设计性实验;整个实验过程包括课前准备,实验操作,实验报告等环节。学生在实验前必须进行准备。根据实验内容不同,基本操作性的实验1人1组,设计性实验可根据情况多人一组,每个实验要求在规定时间内由学生独立完成。实验过程中,老师应在实验室进行巡视,及时回答问题,纠正学生的错误操作,检查学生的实验报告。任课教师要认真备课,提前预做实验,上好每一堂课。实验前清点学生人数。实验的验收将分为两个部分。第一部分是上机操作,包括设计结果的源程序的验收与检查。第二部分是提交书面的实验报告。5实验1Java 程序的编辑、编译、运行环境( 2学时)实验内容编写并调试运行HelloWorld应用程序。编写并调试运行HelloWorld小应用程序。设置path环境变量;设置classpath环境变量(选做)。实现一个整数N的阶乘运算。N为固定常数。在屏幕上按如下格式输出乘法口诀表:1X1=11X2=22X2=41X3=32X3=63X3=9,其中,每行的多个乘法公式之间用‘ \t’分割预习内容Java语言概述实验类型验证型实验目的了解Java程序运行环境;掌握程序调试的全部过程;(3)学会编写和调试 JavaApplication 和JavaApplet 程序;掌握java环境变量的配置实验要求在修改源程序文件名时,测试源程序文件名是否必须与公有类类名一致;若源程序中没有公有类,源程序文件名可以如何命名;注意观察字节码文件何时生成,在何路径下生成;掌握设置环境变量的方法。(4)阶乘计算部分必须用函数的递归调用来实现,函数定义时应声明为 static ,如:6StaticlonggetFactorial(inti){,}6.实验提示(1)path 是Windows系统的一个环境变量,内容为分号分隔的若干个文件夹名称(如“C:\Windows;C:\Windows\System32;C:\java\bin ”)。在 cmd窗口中输入一个命令时,Windows首先在命令行提示符所表示的文件夹(称作“当前文件夹”或“默认文件夹” )内查找命令文件。如果此文件夹内确实存在命令文件,则开始运行该命令,否则依次查看 path环境变量中的每个文件夹,直到找到命令文件或查找失败为止。根据上述特点,我们可以把包含“javac.exe ”命令文件和“ java.exe ”命令文件的文件夹(通常为“ c:\program ”)添加到 path环境变量中,从而简化 cmd窗口中输入的 java编译或运行命令。(2)classpath 环境变量也是分号分隔的若干个文件夹或压缩文件名称。 设置classpath 的目的,在于告诉 Java命令在哪些文件夹或压缩文件内可以找到所要执行的 .class 文件。由于用“java类名”命令执行一个.class文件的文件夹通常都是当前文件夹,所以应该将表示当前文件夹的符号“.”加到classpath环境变量中。7实验2类和对象的使用( 2学时)实验内容(1)实现一个Point类,该类包含表示坐标的两个int型变量x、y,构造方法Point()和Point(intxx,intyy),返回x值和y值的intgetX()和intgetY()方法,计算两点间距离的doubledistance(Point)方法。其中计算平方根的方法是Math.sqrt(),如:doubled=Math.sqtr(2);(2)实现一个Circle类,该类包含表示圆心的Point型变量center,表示半径的intradius变量,以及构造方法Circle()、Circle(intxx,intyy,intr)、Circle(Pointc,intr),返回周长和面积的intperimeter()、doublearea()方法,返回两个圆是否为同一个圆(返回0)、同心圆(返回1)、相交的圆(返回2)、分离的圆(返回3)、包含的圆(返回4)等关系的intrelation(Circlec)等方法。PI值可以用Math.PI常量。(3)实现测试上述两个类的ClassTest类。该类在main方法中分别创建若干个Point对象和Circle对象,并调用相关方法,输出方法的返回值,验证其正确性。4)程序调试通过后填写实验报告。预习内容1)类的组成:成员变量、成员方法、构造方法2)对象的创建和使用实验类型设计型实验目的掌握Java类的设计原理和对象的使用方法实验要求1)编写Point类,实现相关方法2)编写Circle类,实现相关方法(3) 编写ClassTest 类,并在main方法中创建两个 Point 对象和两个 Circle 对象,对象的参数可以用固定值(4) 调用Point 和Circle 的相关方法,并把返回值输出到屏幕上。8思考题(1) 为什么 distance() 和relation() 方法只需要一个参数?提供两个或更多的参数有什么缺点?2)relation()方法只返回整数,而不是在方法内部直接输出判断结果。这么做有什么优点?9实验3继承性(2学时)(二选一)实验内容(1) 编写颜色类 Color 和具有颜色值的 ColoredCircle 类,ColoredCircle 类是Circle 类的子类。Color类包含三个颜色分量 red、green和blue(取值范围为 0-255);ColoredCircle类包括圆周颜色 borderColor 和圆心颜色 centerColor 成员对象,都是自定义的 Color类对象。(2) 为上述两个类添加适当的构造方法、 get、set 方法(如 getBlue() 、setBlue() 、getCenterColor() ).(3) 编写测试 ColoredCircle 类的测试类 ColoredCircleTest ,并在该类的 main方法中调用ColoredCircle 类的相关方法,验证其正确性。4)程序调试通过后填写实验报告。预习内容1)类的定义2)继承机制及其作用实验类型验证型实验目的掌握Java继承机制的使用方法实验要求(1) ColoredCircle 类的两个颜色分量必须是 Color类对象。2)ColoredCircle必须是Circle类的子类。思考题您还可以设计哪些 Circle 类的子类?10继承性(与上面的继承性试验二选一,即可)实验内容(5) 编写一个代表圆柱体的 Cylinder 类,该类是 Circle 类的子类。Cylinder 类包括圆柱体的高度变量 height 、计算圆柱体的体积方法 volume() 和计算表面积的方法surfaceArea() 。(6) 编写测试 Cylinder 类的CylinderTest 类,并在该类得 main方法中调用 Cylinder 类的相关方法。7)程序调试通过后填写实验报告。预习内容3)类的定义4)继承机制及其作用实验类型设计型实验目的掌握Java继承机制的使用方法实验要求3)确定Circle类的包名(4) 在Cylinder 类中用import 导入Circle 类5)编写Cylinder类的代码6)编写CylinderTest类的代码思考题您还可以设计哪些 Circle 类的子类?11实验4Object 类(2学时)实验内容(1) 重写Point 和Circle 类的equals() 、toString() 方法,并测试这些方法的正确性。2)程序调试通过后填写实验报告。预习内容1)Object类的作用2)equals()方法和toString()方法实验类型验证型实验目的掌握Object 类与其它类之间的关系实验要求(1) 在Point 和Circle 类中分别添加 equals() 方法和toString() 方法2)测试上述方法的正确性思考题为什么equals() 方法和toString() 方法的访问类型必须为 public ?12实验5数组与异常处理( 2学时)1.实验内容(1) 设计和编写代表矩阵的 Matrix 类。该类包括矩阵行列数变量 introws 和intcols ,矩阵数据数组 doubledata[][] ,构造方法 Matrix() 、Matrix(introws,intcols) 、Matrix(int rows,int cols,double data[][]) ,获取某元素值的方法 getData(introw,intcol) ,设置某元素值的方法 setData(introw,intcol,doublevalue) ,计算两个矩阵的乘积的方法 multiply(Matrixm) 以及toString() 等内容。2)编写测试类MatrixTest,并在该类中创建两个矩阵对象,计算其乘积。3)为矩阵类添加相关的自定义异常类,并在适当位置使用这些异常类。预习内容1)数组的定义2)类的定义3)异常处理实验类型验证型实验目的1)掌握数组的定义和使用2)理解异常的使用和自定义异常类的方法。3)理解throw和throws的区别和联系。实验要求1)编写Matrix类2)编写MatrixTest类。在该类中通过键盘输入方式确定所要创建的两个矩阵的行列数,根据行列数随机生成数据或键盘输入,并通过 setData方法生成矩阵的内容。(3) 计算矩阵的乘积,并把结果通过 toString 方法输出到屏幕上(4) 编写矩阵行数或列数非法异常类 IllegalArgumentException 、矩阵行号或列号非法异常类IllegalIndexException 以及矩阵无法相乘异常类 MatrixMultiplicationException 。这些类只需要包含 toString 非法即可。13(5) 在 Matrix 类的构造方法中,如果 rows 或 cols 变量值小于 1,抛出IllegalArgumentException 异常;在getData 和setData 方法中,如果 row或col大于等于矩阵行数或列数,抛出 IllegalIndexException 异常;在multiply 非法中,如果两个矩阵的行列数不满足矩阵相乘规则,抛出 MatrixMultiplicationException 异常。6)在MatrixTest类中测试上述异常定义是否有效。7)提交调试通过的Java程序。思考题1)您还可以编写哪些Matrix类的方法?2)如果没有setData方法,如何给矩阵的某个元素值赋值?14实验6图形用户界面( 2学时)实验内容1)编写一个简易计算器程序,其界面如下图所示:(2) 用户界面可以手工编码的形式构造,也可以使用 Netbeans、Eclipse 等开发工具。预习内容1)图形界面程序的特点2)事件处理机制的原理实验类型设计型实验目的掌握图形界面程序的设计方法和事件处理机制实验要求(1)编写各个按钮的代码,使得能够进行四则运算。(2)当按下“+”按钮时,两个数值文本框之间应显示“+”号,同时相加结果显示在第三个文本框内(如下图所示) 。类似处理“ -”、“*”和“/”按钮。(3) 应处理除 0异常和数值格式非法异常,如:154)程序调试通过后填写实验报告。实验提示1)文本框(TextField类)的宽度可以用构造函数设置,如:TextFieldtf1=newTextField(10);2)出错提示窗口可以利用类的相应方法,如:请输入两个整数!");16实验7 输入/输出处理(2学时)实验内容实现一个简单的图形界面文本编辑器(如下图所示) ,该程序从磁盘读入文本文件,并将内容显示到JTextArea 中。也可以将 JTextArea内容保存到原文件或另存到其它文件中。预习内容输入/输出处理、异常处理、图形用户界面实验类型综合型实验目的理解流的操作能够创建、读写、更新文件实验要求在以上操作中,均要求带有异常处理结构。提交调试通过的Java程序。实验提示在JFrame中添加菜单可以用如下代码:JMenuBarjMenuBar1=newJMenuBar();JMenujMenu1=newJMenu(" 文件");JMenuItemjMenuItem1=newJMenuItem(" 打开");17JMenuItemjMenuItem2=newJMenuItem(" 保存");JMenuItemjMenuItem3=newJMenuItem(" 另存为");JMenuItemjMenuItem4=newJMenuItem(" 退出");JSeparatorjSeparator1=newJSepara

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论