Java程序设计实验指导书版本Word文档下载推荐.docx
- 文档编号:16446121
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:11
- 大小:23.34KB
Java程序设计实验指导书版本Word文档下载推荐.docx
《Java程序设计实验指导书版本Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java程序设计实验指导书版本Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
3.利用Java语言进行异常处理
4.能利用Java语言进行磁盘数据文件的建立及读写操作编程。
5.利用Java语言实现多线程编程。
二、主要仪器设备(所开实验的主要仪器设备)
每个学生上机使用一台PC机进行程序开发,PC机的硬件、软件环境如下:
1)硬件:
CPUP43.0GHZ256M内存,80G硬盘空间。
2)软件:
操作系统:
WindowsXP
开发工具:
MyEclipse8.5、Jsdk1.6.1_02软件开发包
三、实验项目名称和学时分配
序号
实验项目名称
学时
分配
实验
属性
类型
实验者类别
必开/选开
1
初步的面向对象的程序设计
2
专业类
设计性
本科生
必开
面向对象程序设计
3
异常类的定义及处理
4
流、文件及基于文本的应用
5
综合设计
四、实验课考核方式
1.实验报告:
每位同学必须独立书写实验报告,注意:
不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。
实验报告的内容应包括以下几个部分:
1)按照实验内容和实验步骤要求完成实验任务后,若程序已通过实验指导教师验收,则只在报告中重点给出调试分析过程描述:
包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等);
若程序未完全通过验收,则需再此基础上提交包含详细注释的源程序清单。
2)根据思考题要求,重点描述需求分析、概要设计和详细设计过程,并提交包含详细注释的源程序清单,最后详细描述程序调试分析过程。
2.考核方式
2.1实验课成绩根据学生的实验预习、实验纪律、实验动手能力、实验结果和实验报告等几个部分进行综合评定,并给出优、良、中、及格和不及格共五档成绩。
2.2实验课成绩占课程总成绩的25%。
五、实验指导书及主要参考书
[1]蔡翠平主编唐大仕编著,JAVA程序设计(修订本),北方交通大学出版社清华大学出版社,2007年.
[2]侯捷译,JAVA编程思想(第二版),机械工业出版社,2002.
[3]丁振凡,Java语言实用教程,北京邮电大学出版社,2005.
[4]丁振凡,Java语言实用教程实验指导,北京邮电大学出版社,北京,2006
一、综合设计题目
某小型公司,主要有三类人员:
经理、兼职技术人员和兼职推销员。
这三类人员共同拥有的相关属性:
姓名、编号;
相关方法:
获取当月薪水的getPay()方法、显示个人信息的toString()方法。
人员编号基数为1000,每创建一个人员实例对象,其编号属性的值顺序加1。
月薪计算方法:
经理拿固定月薪8000元;
兼职技术人员按每小时100元领取月薪;
兼职推销人员的月薪按当月的销售额的4%提成。
要求:
结合本课程所学知识点,采用面向对象的编程思想,结合题意自己确定需要定义的类及各类的属性、构造方法和其他方法,并编写JavaApplcation程序实现功能:
1.查询职工个人信息,可通过姓名、编号查询
2.查询部门所有职工的详细信息
3.修改职工信息;
4.删除职工信息;
5.添加职工信息
6.查询所有职工信息,并将其存储到职工信息文件EmployeeData.txt中;
二、初步的面向对象的程序设计(实验1)
1、实验目的
1)掌握类和构造方法的定义。
2)掌握创建类实例的方法。
3)初步掌握面向对象的编程思想
2、实验内容
1)编写一个JavaApplication,利用JDK软件包中的工具在命令行方式下编译并运行这个程序,使之能够输出字符串信息“HelloWorld!
”。
(注:
其后的所有实验如无特别说明,均是在MyEclipse8.5环境下编译执行)
2)编写程序实现如下功能:
已知学生类有域变量(姓名、考号、综合成绩、体育成绩)和方法(获取综合成绩、获取体育成绩、显示基本信息),学校类有静态变量(录取分数线)和方法(设置录取分数、获取录取分数线),录取类有方法(获取学生是否符合录取条件,其中录取条件为综合成绩在录取分数线之上,或体育成绩在96分以上并且综合成绩大于300分)。
现要求编写程序输出一组学生对象中被某学校录取的学生基本信息。
3、实验步骤
1)编写一个JavaApplication,利用JDK软件包中的工具编译并运行这个程序。
步骤
(1):
编写、编译Java源程序。
打开MyEclipse,新建一个java文件,键入如下程序代码:
publicclassHello
{
publicstaticvoidmain(Stringargs[])
{System.out.println("
Hello,World!
"
);
}
}
将文件命名为Hello.java,注意保存文件Hello.java到路径“e:
\自己学号\java\”下。
步骤
(2):
编译Java源程序
打开命令提示符窗口(MS-DOS窗口)进入Java源程序所在路径e:
\自己学号\java\”。
键入编译器文件名和要编译的源程序文件名,具体如下:
Setpath=%path%;
c:
\programfiles\jdk1.6.0_02\bin;
javac-dclassHello.java
按回车键开始编译(注意:
文件名H要大写,否则运行会出问题)。
如果源程序没有错误,则屏幕上没有输出,键入“dir”按回车键后可在当前目录中看到生成了class子目录,在class子目录下有一个同名字的.class文件即“Hello.class”。
否则,将显示出错信息。
步骤(3):
运行Java程序
在命令提示符窗口或MS-DOS窗口键入解释器文件名和要解释的字节码文件名:
java–classpathe:
\自己学号\java\classHello
按回车键即开始解释并可看到运行结果。
(注意:
这个程序可以直接在Eclipse集成编辑环境中完成)
定义类Stduent,并添加如下域变量:
Stringname;
Stringid;
floatcomScore;
floatscore;
在类Student中添加如下方法,并编写代码实现具体方法的功能:
Student(Stringname,Stringid,floatcomScore,floatscore){……}
floatgetcomScore(){……}
floatgetscore(){……}
voidprint(){……}
步骤(3)定义类School,并添加静态变量
staticfloatscoreLine;
添加静态方法
staticfloatgetScoreLine(){……}
staticvoidsetScoreLine(floatscore){……}
步骤(4)定义一个Application程序类Enroll并添加方法:
publicstaticvoidmain(Stringargs[]){……}
staticbooleanisEnroll(Students){……}
步骤(5)保存文件名为Enroll.java,然后编译、调试和运行程序。
4、思考题
围绕综合设计题目,完成第一个任务:
(1)定义三个类Saler、Manager和Techer。
(2)分别创建三个类的对象,实现对象信息的打印输出。
三、面向对象程序设计(实验2)
1)掌握类的继承机制。
2)熟悉类中成员变量和方法的访问控制。
3)熟悉方法或构造方法多态性。
4)熟悉接口的定义方法。
1)编写程序实现如下功能:
已知Person类包含三个公共域变量(姓名、性别、年龄)和一个构造方法,Student类是Person类的派生类,包含两个新的公共域变量(学号、班号)、两个公共方法(修改年龄、显示基本信息)及一个构造方法。
定义一组学生对象,并初始化他们的基本信息,然后依次输出。
2)输入课本例5-4的源程序,观察其运行结果,然后将Shape类分别定义为一个抽象类和接口,然后将源程序进行修改,让其实现相同功能。
已知Person类包含三个公共域变量(姓名、性别、年龄)和一个构造方法,Student类是Person类的派生类,包含两个新的公共域变量(学号、班号)、两个公共方法(构造方法、修改年龄、显示基本信息)和一个构造方法。
定义类Person,并添加以下公共域变量
publicStringname;
publiccharsex;
publicintage;
添加构造方法Person(Stringname,charsex,intage){……}
基于类Person派生类Student,并添加如下公共域变量和方法
publicStringclassno;
publicStringsno;
publicvoidupdateAge(intage){……}
voidtoString(){……}
Student(Stringname,charsex,intage,Stringsno,Stringname)
{super(name,sex,age);
…….
}
定义一个包含main方法的Application程序类TestStudentPerson,初
始化一个学生类对象数组,并利用循环语句显示所有学生基本信息。
围绕综合设计题目,完成第二个任务:
(1)思考已定义的三个类Saler、Manager和Techer的公共属性和方法,考虑定义三个类的基类Employer类,然后Saler、Manager和Techer是Employer类的子类。
根据系统需求修改实验一的程序,。
(2)定义Employer类对象数组,存储管理一组雇员,并实现遍历所有雇员的信息功能。
(3)定义CEmployerSet类,其有addNewEmployer、updateEmployer、deleteEmployer、listAllEmployer方法
四、异常类的定义及处理(实验3)
1)了解异常处理方法。
2)熟悉并掌握常见异常的捕获方法。
3)熟悉JDK中已经定义的若干异常类的层次结构。
4)掌握自定义异常类的创建方法。
编写程序实现如下功能:
生成并捕获到NegativeArraySizeException和IndexOutOfBoundsException类型的异常,并显示捕获到的异常信息。
然后在此基础上生成并捕获到NullPointerException类型的异常,并显示捕获到的异常信息。
参考知识:
常见的系统异常
(1)ArithmeticException
(2)ArrayIndexOutOfBandsException
(3)ArrayStoreException
(4)IOException
(5)FileNotFoundException
(6)NullPointerException
(7)MalformedURLException
(8)NumberFormatException
(9)OutOfMemoryException
1)翻译下列常用异常类的描述信息
OutOfMemoryError
Aclassinstancecreationexpression,arraycreationexpression,orstringconcatenationoperatiorexpressionthrowsanOutOfMemoryErrorifthereisinsufficientmemoryavailable.
NegativeArraySizeException
AnarraycreationexpressionthrowsaNegativeArraySizeExceptionifthevalueofanydimensionexpressionislessthanzero.
NullPointerException
AfieldaccessthrowsaNullPointerExceptionifthevalueoftheobjectreference
expressionisnull.
AmethodinvocationexpressionthatinvokesaninstancemethodthrowsaNullPointerExceptionifthetargetreferenceisnull.
AnarrayaccessthrowsaNullPointerExceptionifthevalueofthearrayreference
ArrayIndexOutOfBoundsException
AnarrayaccessthrowsanArrayIndexOutOfBoundsExceptionifthevalueofthearrayindexexpressionisnegativeorgreaterthanorequaltothelengthofthearray.
ClassCastException
Throwntoindicatethatthecodehasattemptedtocastanobjecttoasubclassofwhichitisnotaninstance.Forexample,thefollowingcodegeneratesaClassCastException:
Objectx=newInteger(0);
System.out.println((String)x);
ArithmeticException
Thrownwhenanexceptionalarithmeticconditionhasoccurred.Forexample,aninteger"
dividebyzero"
throwsaninstanceofthisclass.
ArrayStoreException
AnassignmenttoanarraycomponentofreferencetypethrowsanArrayStoreExceptionwhenthevaluetobeassignedisnotcompatiblewiththecomponenttypeofthearray.
NoSuchFieldException
Signalsthattheclassdoesn'
thaveafieldofaspecifiedname.
NoSuchMethodException
Thrownwhenaparticularmethodcannotbefound
NumberFormatException
Throwntoindicatethattheapplicationhasattemptedtoconvertastringtooneofthenumerictypes,butthatthestringdoesnothavetheappropriateformat.
FileNotFoundException
Signalsthatanattempttoopenthefiledenotedbyaspecifiedpathnamehasfailed.
IOException
SignalsthatanI/Oexceptionofsomesorthasoccurred.ThisclassisthegeneralclassofexceptionsproducedbyfailedorinterruptedI/Ooperations
1)编写程序实现如下功能:
编写一个包含main方法的Application类TestException,然后定义一个方法
voidarraySize(){……}生成并捕获NegativeArraySizeException异常。
添加一个方法
voidoutofBound(){……}生成并捕获IndexOutOfBoundsException异常。
voidnullPointer(){……}生成并捕获IndexOutOfBoundsException异常。
步骤(4):
在main方法中分别调用以上三个方法。
步骤(5):
将文件保存为TestException.java,然后编译、调试应用程序。
步骤(6):
将outofBound()方法中捕获异常的语句注释掉,重新编译程序,看看会不会有什么语法错误?
如果没错误,执行程序看结果有什么不同?
步骤(7):
将array方法重新定义为如下形式:
voidarraySize()throwsNegativeArraySizeException{……}
然后修改arraySize方法中捕获NegativeArraySizeException异常的语句执行部分。
1)编写一个程序,用于根据用户输入的命令行参数数量来计算长方形、正方形、三角形的面积。
如果输入的参数个数为1、2、3则它们应分别对应正方形、长方形、三角形,如果参数值为0,则异常处理方法显示错误消息。
[提示]:
自己定义一个异常类,表示参数个数0这一异常。
然后定义一个抽象的父类,并提供一个抽象的方法area(),再派生出三个子类,重写area方法,最后在main方法中编写测试逻辑。
五流、文件及基于文本的应用(实验4)
1)理解数据流的概念。
2)理解Java流的层次结构。
3)理解并掌握文件的读写操作方法。
1)编写一个javaApplication程序,接受用户输入的10个整数,比较并输出其中的最大值和最小值。
定义一个包含main方法的Application类MaxMinClass。
在MaxMinClass类中添加如下两个方法,分别求取10个整数的最大值和最小值:
staticintmaxInt(intdata[],intn){……}
staticintminInt(intdata[],intn){……}
在main方法中从键盘输入10个整数存放到数组data中,然后调用maxInt、minInt方法求取最大值和最小值,最后输出最大值和最小值。
保存文件MaxMinClass.java,然后编译、调试程序。
围绕综合设计题目,完成第四个任务:
(1)思考定义一个CDataAccess类,其有save、load方法。
save功能是将所有雇员信息写到外部EmployerData.txt文件中。
load功能是读取EmployerData.txt文件数据。
(2)思考如何和前面已经写好的程序关联。
即原来写的程序中哪里调用CDataAccess类的以上方法?
六综合设计(实验5)
引导学生采用面向对象的编程思想来分析、编写、调试一个综合实验项目程序,培养学生的实际工程应用能力,
(1)查询职工个人信息,可通过姓名、编号查询
(2)查询部门所有职工的详细信息
(3)修改职工信息;
(4)删除
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 实验 指导书 版本