Java程序设计实验讲义版资料Word文档格式.docx

上传人:b****5 文档编号:16431852 上传时间:2022-11-23 格式:DOCX 页数:14 大小:110.17KB
下载 相关 举报
Java程序设计实验讲义版资料Word文档格式.docx_第1页
第1页 / 共14页
Java程序设计实验讲义版资料Word文档格式.docx_第2页
第2页 / 共14页
Java程序设计实验讲义版资料Word文档格式.docx_第3页
第3页 / 共14页
Java程序设计实验讲义版资料Word文档格式.docx_第4页
第4页 / 共14页
Java程序设计实验讲义版资料Word文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Java程序设计实验讲义版资料Word文档格式.docx

《Java程序设计实验讲义版资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java程序设计实验讲义版资料Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

Java程序设计实验讲义版资料Word文档格式.docx

5.实验要求10

6.思考题10

实验4Object类(2学时)11

1.实验内容11

2.预习内容11

3.实验类型11

4.实验目的11

5.实验要求11

6.思考题11

实验5数组与异常处理(2学时)12

1.实验内容12

2.预习内容12

3.实验类型12

4.实验目的12

5.实验要求12

6.思考题13

实验6图形用户界面(2学时)14

1.实验内容14

2.预习内容14

3.实验类型14

4.实验目的14

5.实验要求14

6.实验提示15

实验7输入/输出处理(2学时)16

1.实验内容16

2.预习内容16

3.实验类型16

4.实验目的16

5.实验要求16

6.实验提示16

实验8线程(2学时)18

1.实验内容18

2.预习内容18

3.实验类型18

4.实验目的18

5.实验提示18

6.思考题19

前言

《Java程序设计》在面向对象程序设计的基础上,阐述Java语言的编程基础及其设计方法。

内容包括:

Java程序的输入输出、表达式与运算符、结构化程序设计、类、属性和方法、继承和重载、包和接口、Applet与图形用户界面以及相关Java网络设计等知识,本课程注重实际应用操作,采用实例讲解为学生进一步学习J2EE和J2ME打下技术基础。

结合对实例的开发,以学生为主体,充分发挥学生的主观能动性,引导学生自学教材部分内容,并锻炼学生自行开发各种小型程序模块;

培养和锻炼学生利用Java语言进行网络编程的能力。

《Java程序设计实验》是以程序设计操作为主的技能课程,它由若干个独立的实验项目组成,与相应的理论课—《Java程序设计》配套,本课程的目标是:

(1)加深学生对课堂讲授内容的理解,从计算机语言的基本概念、面向对象程序设计的基本方法、语法规则等方面加深理解,打好面向对象程序设计、软件开发的良好基础。

(2)在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。

(3)在对Java程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。

(4)通过上机实践,加深学生对计算机软件运行环境、Java集成开发环境的了解。

实验要求

《Java程序设计实验》是与《Java程序设计》理论课配套的实验课程。

通过本课程的实验训练,要求学生能运用所学理论知识进行基本的面向对象程序设计,培养其规范的编程习惯,掌握基本的操作技能和编程思想。

同时要注意培养学生实事求是的科学态度,相互协作的团队精神,为学习后续课程,参加实际工作和开展科学研究打下良好的基础。

具体要求是:

(1)本课程以实验为主,配合理论课的教学。

任课教师需向学生讲清课程的性质,任务,要求,课程安排和进度,平时考核内容,期末考试办法,实验守则及实验室安全制度等。

(2)本课程主要设置下列类型的实验:

(1)基本操作训练,

(2)验证性及设计性实验;

整个实验过程包括课前准备,实验操作,实验报告等环节。

学生在实验前必须进行准备。

(3)根据实验内容不同,基本操作性的实验1人1组,设计性实验可根据情况多人一组,每个实验要求在规定时间内由学生独立完成。

(4)实验过程中,老师应在实验室进行巡视,及时回答问题,纠正学生的错误操作,检查学生的实验报告。

(5)任课教师要认真备课,提前预做实验,上好每一堂课。

实验前清点学生人数。

实验的验收将分为两个部分。

第一部分是上机操作,包括设计结果的源程序的验收与检查。

第二部分是提交书面的实验报告。

实验1Java程序的编辑、编译、运行环境(2学时)

1.实验内容

(1)编写并调试运行HelloWorld应用程序。

(2)编写并调试运行HelloWorld小应用程序。

(3)设置path环境变量;

设置classpath环境变量(选做)。

(4)实现一个整数N的阶乘运算。

N为固定常数。

(5)在屏幕上按如下格式输出乘法口诀表:

1X1=1

1X2=22X2=4

1X3=32X3=63X3=9

其中,每行的多个乘法公式之间用‘\t’分割

2.预习内容

Java语言概述

3.实验类型

验证型

4.实验目的

(1)了解Java程序运行环境;

(2)掌握程序调试的全部过程;

(3)学会编写和调试JavaApplication和JavaApplet程序;

(4)掌握java环境变量的配置

5.实验要求

(1)在修改源程序文件名时,测试源程序文件名是否必须与公有类类名一致;

若源程序中没有公有类,源程序文件名可以如何命名;

(2)注意观察字节码文件何时生成,在何路径下生成;

(3)掌握设置环境变量的方法。

(4)阶乘计算部分必须用函数的递归调用来实现,函数定义时应声明为static,如:

StaticlonggetFactorial(inti){

}

6.实验提示

(1)path是Windows系统的一个环境变量,内容为分号分隔的若干个文件夹名称(如“C:

\Windows;

C:

\Windows\System32;

\java\bin”)。

在cmd窗口中输入一个命令时,Windows首先在命令行提示符所表示的文件夹(称作“当前文件夹”或“默认文件夹”)内查找命令文件。

如果此文件夹内确实存在命令文件,则开始运行该命令,否则依次查看path环境变量中的每个文件夹,直到找到命令文件或查找失败为止。

根据上述特点,我们可以把包含“javac.exe”命令文件和“java.exe”命令文件的文件夹(通常为“c:

\programfiles\java\jdk1.6.xxx\bin”)添加到path环境变量中,从而简化cmd窗口中输入的java编译或运行命令。

(2)classpath环境变量也是分号分隔的若干个文件夹或压缩文件名称。

设置classpath的目的,在于告诉Java命令在哪些文件夹或压缩文件内可以找到所要执行的.class文件。

由于用“java类名”命令执行一个.class文件的文件夹通常都是当前文件夹,所以应该将表示当前文件夹的符号“.”加到classpath环境变量中。

实验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)对象的创建和使用

3.实验类型

设计型

掌握Java类的设计原理和对象的使用方法

(1)编写Point类,实现相关方法

(2)编写Circle类,实现相关方法

(3)编写ClassTest类,并在main方法中创建两个Point对象和两个Circle对象,对象的参数可以用固定值

(4)调用Point和Circle的相关方法,并把返回值输出到屏幕上。

6.思考题

(1)为什么distance()和relation()方法只需要一个参数?

提供两个或更多的参数有什么缺点?

(2)relation()方法只返回整数,而不是在方法内部直接输出判断结果。

这么做有什么优点?

实验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类的相关方法,验证其正确性。

(1)类的定义

(2)继承机制及其作用

掌握Java继承机制的使用方法

(1)ColoredCircle类的两个颜色分量必须是Color类对象。

(2)ColoredCircle必须是Circle类的子类。

您还可以设计哪些Circle类的子类?

继承性(与上面的继承性试验二选一,即可)

(5)编写一个代表圆柱体的Cylinder类,该类是Circle类的子类。

Cylinder类包括圆柱体的高度变量height、计算圆柱体的体积方法volume()和计算表面积的方法surfaceArea()。

(6)编写测试Cylinder类的CylinderTest类,并在该类得main方法中调用Cylinder类的相关方法。

(7)程序调试通过后填写实验报告。

(3)类的定义

(4)继承机制及其作用

(3)确定Circle类的包名

(4)在Cylinder类中用import导入Circle类

(5)编写Cylinder类的代码

(6)编写CylinderTest类的代码

实验4Object类(2学时)

(1)重写Point和Circle类的equals()、toString()方法,并测试这些方法的正确性。

(2)程序调试通过后填写实验报告。

(1)Object类的作用

(2)equals()方法和toString()方法

掌握Object类与其它类之间的关系

(1)在Point和Circle类中分别添加equals()方法和toString()方法

(2)测试上述方法的正确性

为什么equals()方法和toString()方法的访问类型必须为public?

实验5数组与异常处理(2学时)

(1)设计和编写代表矩阵的Matrix类。

该类包括矩阵行列数变量introws和intcols,矩阵数据数组doubledata[][],构造方法Matrix()、Matrix(introws,intcols)、Matrix(introws,intcols,doubledata[][]),获取某元素值的方法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非法即可。

(5)在Matrix类的构造方法中,如果rows或cols变量值小于1,抛出IllegalArgumentException异常;

在getData和setData方法中,如果row或col大于等于矩阵行数或列数,抛出IllegalIndexException异常;

在multiply非法中,如果两个矩阵的行列数不满足矩阵相乘规则,抛出MatrixMultiplicationException异常。

(6)在MatrixTest类中测试上述异常定义是否有效。

(7)提交调试通过的Java程序。

(1)您还可以编写哪些Matrix类的方法?

(2)如果没有setData方法,如何给矩阵的某个元素值赋值?

实验6图形用户界面(2学时)

(1)编写一个简易计算器程序,其界面如下图所示:

(2)用户界面可以手工编码的形式构造,也可以使用Netbeans、Eclipse等开发工具。

(1)图形界面程序的特点

(2)事件处理机制的原理

掌握图形界面程序的设计方法和事件处理机制

(1)编写各个按钮的代码,使得能够进行四则运算。

(2)当按下“+”按钮时,两个数值文本框之间应显示“+”号,同时相加结果显示在第三个文本框内(如下图所示)。

类似处理“-”、“*”和“/”按钮。

(3)应处理除0异常和数值格式非法异常,如:

(1)文本框(TextField类)的宽度可以用构造函数设置,如:

TextFieldtf1=newTextField(10);

(2)出错提示窗口可以利用javax.swing.JOptionPane类的相应方法,如:

javax.swing.JOptionPane.showMessageDialog(null,"

请输入两个整数!

"

);

实验7输入/输出处理(2学时)

实现一个简单的图形界面文本编辑器(如下图所示),该程序从磁盘读入文本文件,并将内容显示到JTextArea中。

也可以将JTextArea内容保存到原文件或另存到其它文件中。

输入/输出处理、异常处理、图形用户界面

综合型

(1)理解流的操作

(2)能够创建、读写、更新文件

(1)在以上操作中,均要求带有异常处理结构。

(2)提交调试通过的Java程序。

(1)在JFrame中添加菜单可以用如下代码:

JMenuBarjMenuBar1=newJMenuBar();

JMenujMenu1=newJMenu("

文件"

JMenuItemjMenuItem1=newJMenuItem("

打开"

JMenuItemjMenuItem2=newJMenuItem("

保存"

JMenuItemjMenuItem3=newJMenuItem("

另存为"

JMenuItemjMenuItem4=newJMenuItem("

退出"

JSeparatorjSeparator1=newJSeparator();

jMenu1.add(jMenuItem1);

jMenu1.add(jMenuItem2);

jMenu1.add(jMenuItem3);

jMenu1.add(jSeparator1);

jMenu1.add(jMenuItem4);

jMenuBar1.add(jMenu1);

frame.setJMenuBar(jMenuBar1);

(2)默认情况下JtextArea没有滚动条,若要添加滚动条,需要用以下代码:

jScrollPane1=newJScrollPane();

jTextArea1=newJTextArea();

jScrollPane1.setViewportView(jTextArea1);

frame.add(jScrollPane1);

实验8线程(2学时)

(1)编写一个世界时钟程序,界面如下图所示:

(2)在主窗口上至少显示两个时区的时间。

(1)图形界面程序

(2)线程

掌握多线程程序的编写

5.实验提示

(1)获取时间、换算时区以及转化为字符串的代码如下:

Calendarnow=Calendar.getInstance();

now.add(Calendar.HOUR, 

timeInterval);

//timeInterval为与北京时间相差的时数,如纽约为-12,伦敦为-7,东京为+2

Stringsdf=newSimpleDateFormat("

HH:

mm:

ss"

).format(now.getTime());

(2)设置JLabel字体的代码如下:

Fontfont=newFont("

宋体"

Font.BOLD,30);

l1=newJLabel("

北京时间"

l1.setFont(font);

如何提高本实验的代码重用程度?

能不能用一个类实现所有线程?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1