面向对象程序设计实验大纲java实践内容.docx
- 文档编号:28456314
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:15
- 大小:22.10KB
面向对象程序设计实验大纲java实践内容.docx
《面向对象程序设计实验大纲java实践内容.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计实验大纲java实践内容.docx(15页珍藏版)》请在冰豆网上搜索。
面向对象程序设计实验大纲java实践内容
《面向对象程序设计》实验教学大纲
一、适用范围及说明
大纲适用于网络传播专业本科教学使用。
面向对象的程序设计有许多语言可选,java是一个非常优秀的面向对象程序设计语言,本课程以java程序设计语言作为主要教学内容。
二、课程名称:
面向对象的程序设计
三、学时数与学分
总学时:
48总学分:
3
实验学时:
10实验学分:
四、教学目的和基本要求
目的:
通过一系列实验来使学生更深
基本要求:
五、实验项目与学时分配
序号
项目名称
学时
实验类型
1
JAVA实验环境及基础
0.5
操作型
2
JAVA流程控制
0.5
操作型
3
面向对象的程序设计概念
0.5
操作型
4
类的封装、多态和继承
0.5
操作型
5
接口和包
1
操作型
6
异常
1
操作型
7
输入输出流
1
操作型
8
图形用户界面
1
操作型
9
高级用户界面GUI设计
1
操作型
10
Applet程序
1
操作型
11
多线程
1
操作型
12
综合实验设计
1
总计
10
六、教材、讲义及参考书
教材:
《Java程序设计》(第3版)谭浩强主编
教参:
《Java2简明教程》学勤清华大学出版社
七、实验成绩评定办法
考查:
本课程采用平时考核,期末考试,综合评定学生成绩。
成绩量化考核办法如下:
成绩=平时成绩+实验成绩+期末成绩
平时成绩:
占总成绩的10%,实验成绩:
占总成绩的30%,期末成绩:
占总成绩的60%实验成绩由以下六部分组成。
实验预习、实验记录、实验报告、实验作风、实验操作、实验结果。
1、实验预习和表现:
学生课前必须预习,教师通过课堂提问等方式检查预习效果。
在实验中,教师可根据学生使用仪器的能力、观察和分析实验现象的能力、实验结果和数据的正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核,学生实验的原始数据由教师签字认可。
(根据预习和平时表现情况教师给出相应的成绩,分为不同的档次。
)
2、实验报告:
学生实验后应按时完成实验报告。
要求:
内容充实、图表齐全、数据处理正确、书面整洁、结构合理、回答思考问题等。
(根据实验报告情况教师给出相应成绩,分为不同档次。
)
3、实验考试:
通过考试了解学生对基本理论和基本操作掌握的程度和实际水平,建立操作技术与口试、笔试相结合的考试方法,教师出实验考试题目,让学生自拟实验步骤,在规定的时间完成报告,且回答有关理论问题。
如果是设计性实验题目要独立写出报告。
(根据学生在规定时间完成的实验情况,教师给出相应成绩,分为不同档次。
)
八、实验教学大纲说明
本大纲共安排10学时的实验。
九、实验项目
实验一JAVA基础:
实验目的:
掌握JAVA语言的各种数据类型
熟悉运算符和表达式。
学会编写简单程序
实验要求:
为了使程序易读,在程序中添加适当的注释;为了使程序输出结果清晰明了,应该输出相应的提示性信息;上机编译并运行该程序。
分析实验1)中A行-F行各运算符的作用、表达式的功能和表达式的值,并和程序输出结果比较。
将实验2)中的“摄氏温度”和“华氏温度”定义为double型,编译并运行程序;将“华氏温度”改为float型后(其他保持不变),再编译该程序,观察会出现什么结果并分析原因。
实验内容:
1)下面是一个简单的JAVA程序,将多种类型变量通过各种运算符组成不同的表达式,并将运算结果赋值给同类型的变量,使用println()方法输出各变量的值。
PublicclassExampleTest(){
Publicstaticvoidmain(Stringargs[]){
Intno=(11+20)*3/5;//A行
System.out.println(“no=”+no);
no++;//B行
System.out.println(“no=”+no);
Booleanbool=false;//C行
bool=true&!
bool;//D行
System.out.println(“bool=”+bool);
BytebValue=0x10;//E行
System.out.println(“bValue=”+bValue);
Bool=(no>bValue);//F行
System.out.println(“bool=”+bool);
}
}
分析、上机编译并运行程序。
2) 编写一个将摄氏温度转化为华氏温度的程序,其转化公式如下:
华氏温度=(9/5)*摄氏温度+32
实验步骤:
i. 提示用户输入摄氏温度;
ii. 根据题目公式,计算华
iii. 输出结果
仪器与材料:
计算机若干台及java环境
实验二JAVA流程控制:
实验目的:
1、掌握条件语句的使用。
2、熟悉循环语句的使用。
实验内容:
1) 求a+aa+aaa+…+a..a(n个)的和,其中a为1-9之间的整数。
例如,当a=3、n=4时,求3+33+333+3333的和。
2) 给定一个正整数m,判断它的具体位数,分别打印每一位数,再按照逆序打印处各位数字。
3) 鸡和兔装在同一个笼子中,已知他们在一起共有f只脚,h只头,求有多少只鸡和多少只兔。
实验要求:
1) 从键盘上输入1-9之间的整数a,当所求的和大于1*1000000时,输出相应的a值和n值。
2) 从键盘上输入正整数m,m的值不应该超过99999,否则给出错误信息。
3) 从键盘上输入正整数f和h(f和h要满足一定的条件),计算并输出鸡和兔的数目。
仪器与材料:
计算机若干台及java环境
实验三 面向对象的程序设计概念:
实验目的:
1、掌握类和构造方法的定义。
2、理解静态和非静态成员变量的区别。
3、掌握创建类实例的方法。
实验要求:
1) 学生类的构造方法带4个参数,分别接收学生的姓名、考号、综合成绩和体育成绩。
2) 学校类仅包括静态成员变量和方法。
实验内容:
1) 编写一个学校类,其中包括成员变量scoreLine(录取分数线)和对该变量进行设置和获取的方法。
2) 编写一个学生类,她的成员变量有考生的name(姓名)、id(考号)、intgretResult(综合成绩)、sports(体育成绩)。
它还有获取学生的综合成绩和体育成绩的方法。
3) 编写一个录取类,它的一个方法用于判断学生是否符合录取条件。
其中录取条件为:
综合成绩在录取分数线之上,或体育成绩在96分以上并且综合成绩大于300分。
该类中的main()方法建立若干个学生对象,对输出符合录取条件的学生,输出其信息及“被录取”。
仪器与材料:
计算机若干台及java环境
实验四类的封装、多态和继承:
实验目的:
1、掌握类的继承机制。
2、熟悉类中成员变量和方法的访问控制。
3、熟悉方法或构造方法多态性。
实验要求:
1) 每个类包含无参数和有参数的构造方法。
构造方法用于对成员变量初始化,无参数的构造方法将成员变量初始化为0值。
2) 子类的构造方法调用父类的构造方法,对父类中的成员变量初始化。
实验内容:
1) 设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x和y值的public方法。
2) 设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。
3) 设计一个表示圆柱体的类Cylinder,它继承自类Circle,还包含有表示圆柱体高的protected类型的成员变量h、获取和设置h值的public方法、计算圆柱体体积的public方法。
4) 建立若干个Cylinder对象,输出其轴心位置坐标、半径、高及其体积的值。
仪器与材料:
计算机若干台及java环境
实验五接口和包:
实验目的:
1、熟悉接口的定义方法。
2、了解JAVA语言实现多继承的途径。
实验内容:
学校中有老师和学生两类人,而在职研究生既是老师又是学生,对学生的管理和对教师的管理在他们身上都有体现。
1) 设计两个信息管理接口StudentManageInterface和TeacherManageInterface。
其中,StudentInterface接口包括setFee()方法和getFee()方法,分别用于设置和获取学生的学费;TeacherInterface接口包括setPay()方法和getPay()方法,分别用于设置和获取教师的工资
2) 定义一个研究生类Graduate,实现StudentInterface接口和TeacherInterface接口,它定义的成员变量有name(姓名)、sex(性别)、age(年龄)、fee(每学期学费)、pay(月工资)。
3) 创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“providealoan”(需要贷款)信息。
实验要求:
3) 在Graduate中实现各个接口定义的抽象方法。
4) 对年学费和年收入进行统计,用收入减去学费,如果小于2000元则显示“providealoan”信息。
仪器与材料:
计算机若干台及java环境
实验六异常:
实验目的:
1、熟悉异常处理方法。
2、熟悉常见异常的捕获方法。
实验要求:
1) 程序中生成并捕获到NegativeArraySizeException和IndexOutOfBoundsException类型的异常,并显示捕获到异常信息。
2) 在
(1)的基础上生成并捕获到NullPointerException类型的异常,并显示捕获到异常信息。
3) 通过分析指出catch(ArithmeticExceptione),catch(ArrayIndexOutBoundsExceptione)和finally块中语句的执行条件。
4) 结合给定main(String[])方法,通过理论分析程序的运行结果(显示信息)。
上机实现运行程序,将实际得到的运行结果和分析结果进行比较,判断是否真正的掌握异常的处理机制。
实验内容:
1) 编写一程序,生成和捕获NegativeArraySizeException和IndexOutofBoundsException类型的异常。
2) 在
(1)的基础上再生成和捕获NullPointException类型的异常。
3) 阅读下列的divide(int[],int)方法,指出catch(ArithemticExceptione),catch(ArrayIndexOutofBoundsExceptione)和finally块中的语句分别在什么情况下执行?
publicstaticintdivide(int[]array,intindex){
try{
System.out.println(“\nFirsttryblockindivide()entered”);
array[index+2]=array[index]/array[index+1];
System.out.println(“Codeatendoffirsttryblockindivide()”);
returnarray[index+2];
}catch(ArithmeticExceptione){
System.out.println(“Codeatendoffirsttryblockindivide()”);
}
catch(ArrayIndexOutofBoundsExceptione){
System.out.println(“Index_out_of_boundsexceptioncaughtindivide()”);
}
finally{
System.out.println(“finallyblockindivide()”);
}
System.out.println(“Executingcodeaftertryblockindivide()”);
returnarray[index+2];
}
4) 通过下列的main(String[])方法,调用(3)中的divide(int[],int)方法,分析其运行结果,并与在计算机上的实际运行结果比较。
publicstaticvoidmain(String[]args){
int[]x={10,5,0};//Arrayofthreeintegers
try{
System.out.println(“Firsttryblockinmain()entered”);
System.out.println(“result=”+divide(x,0));
x[1]=0;
System.out.println(“result=”+divide(x,0));
x[1]=1;
System.out.println(“result=”+divide(x,1));
}catch(ArithmeticExceptione){
System.out.println(“Arithmeticexceptioncaughtinmain()”);
}
catch(ArrayIndexOutofBoundsExceptione){
System.out.println(“Index_out_of_bounds_exceptioncaughtinmain()”);
}
System.out.println(“Outsidefirsttryblockinmain()”);
System.out.println(“\nPressentertoexit”);
try{}catch(IOExceptione){
System.out.println(“I/Oexceptioncaughtinmain()”);
}
finally{
System.out.println(“finallyblockforsecondtryblockinmain()”);
}
System.out.println(“Codeaftersecondtryblockinmain()”);
}
}
仪器与材料:
计算机若干台及java环境
实验 七 输入输出流:
实验目的:
熟悉文件流操作方法。
应用文件流操作文件。
实验内容:
1) 利用流操作,在屏幕上显示文本文件内容及文件的路径、修改时间、大小、长度、可读性和可修改性等属性。
2) 借助流操作,以图形界面方式向文本文件添加记录并显示其记录内容。
实验要求:
文件名通过命令行以参数方式输入。
程序需要判断参数提供文件的存在性。
待添加的记录通过TextField控件输入,文件内容通过TextArea控件显示。
实验八 图形用户界面:
实验目的:
学会制作图形界面的各种控件,如:
标签、文本框、按钮等。
学会按钮控件的事件处理方法。
实验内容:
设计一个简单计算器,如下图所示。
在“操作数”标签右侧的两个文本框输入操作数,当单击操作符+,-,×,÷按钮时,对两个操作数进行运算并将结果填入到“结果”标签右侧的文本框中。
实验要求:
文件名通过命令行以参数方式输入。
程序需要判断参数提供文件的存在性。
待添加的记录通过TextField控件输入,文件内容通过TextArea控件显示。
仪器与材料:
计算机若干台及java环境
实验九 高级用户界面GUI设计:
实验目的:
掌握菜单的制作。
会处理事件以及设置输入对话框。
掌握对文本域JTextArea中字符进行复制和粘贴的操作。
实验要求:
1) 新建文件时,文本域为空;打开文件和保存文件时要给出输入对话框,输入相应文件名后进行操作;选择退出菜单将退出整个程序。
2) 对文本域中选中的字符能够进行复制和粘贴操作。
实验内容:
设计一个JAVA程序模仿记事本(NotePad)的部分功能,界面如下图。
仪器与材料:
计算机若干台及java环境
实验十Applet程序:
实验目的:
熟悉Applet类。
掌握applet的程序结构。
学会编写启动applet程序的html文档。
观察applet程序的生命周期
实验内容:
1) 编写applet程序1,显示init()、start()、stop()、paint()和destroy()方法的执行顺序和执行次数。
2) 编写applet程序2,在屏幕尚画一组同心圆,相邻两圆的直径大小相差10(pixel)(要求画满整个屏幕)。
3) 编写applet程序3,在屏幕上画椭圆。
椭圆的大小和位置由拖动鼠标决定(按下鼠标左键位置决定椭圆的左上角,放开鼠标左键位置决定椭圆的右下左上角)
实验要求:
1) 编写调用applet程序1的html文档1,利用appletviewer运行html文档1,启动applet程序1。
改变applet窗口大小,使其最大化、最小化,查看init()、start()、paint()和destroy()方法的执行情况。
2) 编写调用applet程序2的html文档2,利用appletviewer运行html文档2,启动applet程序2。
改变applet窗口大小,观察同心圆个数的变化情况。
3) 编写调用applet程序3的html文档3,利用appletviewer运行html文档3,启动applet程序3。
在不同位置拖动鼠标,观察所绘制的椭圆。
仪器与材料:
计算机若干台及java环境
实验十一多线程:
实验目的:
熟悉利用Thread类建立多线程方法。
熟悉利用Thread接口建立多线程方法。
实验要求:
1) 首先分析程序功能,再通过上机运行验证自己的分析,从而掌握通过Thread类建立多线程的方法。
2) 通过将扩展Thread类建立多线程的方法改为利用Runnable接口的方法,掌握通过Runnable接口建立多线程的方法。
实验内容:
1) 阅读下列程序,分析并上机检验其功能。
classDelayThreadexendsThread{
privatestaticintcount=0;
privateintno;
privateintdelay;
publicDelayThread(){
count++;
no=count;
}
publicvoidrun(){
try{
for(inti=0;i<10;i++){
delay=(int)(Math.random()*5000);
sleep(delay);
System.out.println(“Thread”+no+”withadelay”+delay);
}
}catch(InterruptedExceptione){}
}
}
publicclassMyThread{
publicstaticvoidmain(Stringargs[]){
DelayThreadthread1=newDelayThread();
DelayThreadthread2=newDelayThread();
thread1.start();
thread2.start();
try{
Thread.sleep(1000);
}catch(InterruptedExceptione){
System.out.println(“Threadwrong”);
}
}
}
2) 讲上列程序利用Runnable接口改写,并上检验。
仪器与材料:
计算机若干台及java环境
实验十二综合实验设计
一、实验目的
为了进一步巩固课堂上所学到的知识,深刻把握Java技术的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,特开设综合设计实验实验项目。
要求学生掌握:
1) 掌握Java的语言规范,面向对象的核心概念和特性。
2) 掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序、Applet等。
3) 掌握Java应用软件的开发环境和开发过程
4) 掌握面向对象的思想和程序设计方法。
二、实验内容
拼图游戏是一个简单的Java小程序(Applet),它的游戏规则如下:
将一张大图打散成9张小图,然后在游戏里任意挑8张图,贴在3行3列的矩阵中的任意位置。
通过鼠标或键盘的方向键移动打乱的8张图片,让其复原成原来的顺序,玩家就胜利了,游戏就结束了。
在游戏结束之后,会算出玩家的得分。
三、实验报告
1、实验完成后,检查是否达到试验目的。
2、编写实验报告(打印或手写均可)。
3、评出成绩,按五级(A,B,C,D、E)评分。
十、其他
学科说明:
本课程是一门以实践为主的学科,是网络传播专业应具有的基本素养,加强实践技能是本课程的特色。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 实验 大纲 java 实践 内容