收藏 分销(赏)

面向对象程序实验报告撰写模板.doc

上传人:仙人****88 文档编号:9257814 上传时间:2025-03-18 格式:DOC 页数:29 大小:551KB
下载 相关 举报
面向对象程序实验报告撰写模板.doc_第1页
第1页 / 共29页
面向对象程序实验报告撰写模板.doc_第2页
第2页 / 共29页
点击查看更多>>
资源描述
面向对象设计实验指导书 2015年9月 信息工程学院 侯向华 27 第 页 目录 实验一 熟悉java的编程环境 2 一、 实验目的 2 二、 实验内容与要求 2 三、 思考题 5 四、 实验报告 5 五、课后作业 5 实验二java语言基础训练 6 一、 实验目的 6 二、 实验内容与要求 6 三、 思考题 6 四、 实验报告 6 五、课后作业 6 实验三 类与对象编程基础 9 一、 实验目的 9 二、 实验内容与要求 9 三、 思考题 9 四、 实验报告 9 五、课后作业 9 实验四 类与对象编程综合 12 一、 实验目的 12 二、 实验内容与要求 12 三、 实验报告 14 实验五 继承与接口 16 一、 实验目的 16 二、 实验内容与要求 16 三、 思考题 16 四、 实验报告 16 五、课后作业 16 实验六 异常处理 18 一、 实验目的 18 二、 实验内容与要求 18 三、 思考题 19 四、 实验报告 19 实验七 常用实用类 20 一、 实验目的 20 二、 实验内容与要求 20 三、 思考题 20 四、 实验报告 20 五、课后作业 20 实验八I/O编程 22 一、 实验目的 22 二、 实验内容与要求 22 三、 思考题 22 四、 实验报告 23 五、课后作业 23 实验九 图形用户界面设计 25 一、 实验目的 25 二、 实验内容 25 三、 课外补充 25 四、 思考题 25 五、 实验报告 26 实验十 综合训练 28 一、 实验目的 28 二、 实验内容准备 28 实验一 熟悉java的编程环境 一、 实验目的 1. 了解和使用JDK集成环境。 2. 了解和掌握eclipse集成环境的安装,简单应用。 3. 了解Java Application程序的基本结构。 4. 了解Java程序文件名和类名的说明方法。 二、 实验内容与要求 1) 下载并安装JDK。 a、到如下网址下载JDK, 图1-1 b、下载完成后,双击可执行文件jdk-6u10-windows-i586-p.exe。按照提示完成安装,这里JDK的安装路径改为“C:\Java\jdk1.6.0_10\”。如图1-2所示。 图1-2 2) 下载并安装eclipse。 a、网站http://www.eclipse.org/downloads/下载最新的Eclipse发布版本,目前最新的稳定版本是Eclipse3.4。下载后,直接解压即可使用。解压后,在磁盘上生成一个eclipse文件夹,进入eclipse文件夹,双击eclipse.exe可执行文件,出现如下图1-3所示界面。 图1-3 3) 在eclipse的IDE环境下调试运行一个简单的Java应用程序。 h 1. 创建Java项目 进入图1-3,在工作台主窗口中,依次选择FileàNewà Java Project命令,打开新建项目向导,在“Project name”栏中输入项目名“MyProject_01”,其他选项默认,单击“Finish”按钮,项目创建成功,项目“MyProject_01”将出现在左边的Navigator(导航器)中 图1-3 h 2.创建Java包 在Navigator中右击项目“MyProject_01”,选择NewàPackage,如图1-4所示,在“name”栏中输入包名“org.circle”,单击“Finlish”按钮完成包的创建。 图1-4 h 3. 创建Java类 右击项目“MyProject_01”的包“org.circle”,选择“NewàClass”,如图1-5所示,在“name” 栏中输入类名“Area”,单击“Finish”按钮完成类的创建。 图1-5 h 4. 编写源程序 编写Java程序了。双击“Area.java”,输入“Area.java”源程序,如图1-6所示,单击保存按钮。 图1-6 三、 思考题 1.请各位同学收集错误代码与提示信息,以及产生错误的原因。 2.上网搜索目前有哪些Java开发平台,分析他们的优缺点或特点。 3、java源文件是由什么组成的?一个源文件中必须有public类吗? 4、java源文件的扩展名是什么,字节码文件的扩展名是什么? 四、课后作业 P10: 5, 6 实验二java语言基础训练 一、 实验目的 1.掌握Java语言的标识符和保留字,各简单数据类型变量以及有逻辑量意义数据的表示方法以及表示条件的表达式的类型。 2.掌握Java语言中具各种运算符表达式的基本知识。 3.熟练掌握使用if语句进行单分支结构和双分支结构程序设计的基本方法。 4.熟练掌握使用if语句的嵌套及switch语句进行多分支结构程序设计的基本方法。 5.熟练掌握while、do-while和for三种语句组成循环结构的基本方法。熟练掌握特殊流程控制语句如break,continue,标号语句。 6.熟练掌握一维数组和二维数组的使用 7.把课堂上学到的理论用于实践,并验证理论的正确性,和发现新的问题 二、 实验内容与要求 (注意:选做四个。每个源码后面要截出运行结果的图形,注意是截图。并记录遇到的问题,予以分析。) 1)2.1.4实践环节 2)2.2.4实践环节 3)2.3.4实践环节 4)2.4.4实践环节 5)2.5.4实践环节 6)2.7.4实践环节 三、 思考题 1.&和&&有什么区别? 2.Java程序中可以定义中文字符的变量吗? 四、课后作业 P30: 1,2,4,7 实验三 类与对象编程基础 一、 实验目的 1、熟练掌握类、对象的的概念以及对事物的抽象。 2、熟练掌握成员、方法的概念以及构造方法的概念。 3、熟练掌握封装性,多态性的概念 4、理解面向对象的程序设计方法。 二、 实验内容与要求 (注意:每个源码后面要截出运行结果的图形,注意是截图。并记录遇到的问题,予以分析。) 1)4.1.4实践环节 2)4.3.4实践环节 3)4.6.4实践环节 4)4.9.4实践环节 三、 思考题 1.一个方法或一个块内定义的变量是否可以在方法外或块外使用?这种变量称为什么?方法的形式参数是否可以在方法之外使用? 2.子类重新定义与父类方法的方法头完全相同的方法,这种情况称为什么? 3.同名的不同方法共存的情况称为什么?如何区分这些同名方法? 4.复习构造方法 四、课后作业 P81:1,3 实验四 类与对象编程综合 一、 实验目的 1、熟练掌握类、对象的的概念以及对事物的抽象。 2、熟练掌握成员、方法的概念以及构造方法的概念。 3、熟练掌握封装性,多态性的概念 4、理解面向对象的程序设计方法。 二、 实验内容与要求 (注意:把代码填全。截出运行结果的图形,注意是截图。并记录遇到的问题,予以分析。) 1、创建三个包:分别是,com.wgw.tools、com.wgw.entities、com.wgw.test。 2、在com.wgw.entities中添加Person抽象类,要求属性包括用户名,性别等,方法包括各种构造函数,getter/setter方法、toString方法,equals方法,以及compareTo抽象方法。其中compareTo抽象方法原型如下: public abstract int compareTo(Object another) //比较用户大小 3、在com.wgw.entities中添加Student类和Teacher类,要求两个类均继承Person类,各自特殊的属性为学号,工号。要求添加的方法包括各种构造函数,getter/setter方法、toString方法,equals方法,以及compareTo方法。其中toString方法,equals方法子类对父类方法进行覆盖;compareTo方法根据学号或工号进行比较,实现从Person中继承的抽象方法,返回-1,0,1分别代表小于、等于、大于。 4、在com.wgw.tools中添加ArrayTools类,要求包括下面的静态方法。 • static void sort(Person[] a) • 该方法可以对Person类型的数组进行升序排序,排序依据a数组中元素的compareTo方法。 5、在com.wgw.test中编写类Test,对sort方法进行测试。要求:使用Student类型的数组和teacher类型的数组来测试sort方法。 /** * 在com.wgw.entities中添加Person抽象类, * 要求属性包括用户名,性别等, * 方法包括各种构造函数,getter/setter方法、toString方法,equals方法, * 以及compareTo抽象方法。其中compareTo抽象方法原型如下: * public abstract iNt compareTo(Object another) //比较用户大小 */ package com.wgw.entities; public abstract class Person { } /** * 在com.wgw.entities中添加Student类和Teacher类, * 要求两个类均继承Person类,各自特殊的属性为学号,工号。 * 要求添加的方法包括各种构造函数,getter/setter方法、 * toString方法,equals方法,以及compareTo方法。 * 其中toString方法,equals方法子类对父类方法进行覆盖; * compareTo方法根据学号或工号进行比较, * 实现从Person中继承的抽象方法, * 返回-1,0,1分别代表小于、等于、大于。 */ package com.wgw.entities; public class Student extends Person{ } package com.wgw.entities; public class Teacher extends Person{ } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * 在com.wgw.tools中添加ArrayTools类,要求包括下面的静态方法。 static void sort(Person[] a) 该方法可以对Person类型的数组进行升序排序,排序依据a数组中元素的compareTo方法。 */ package com.wgw.tools; import com.wgw.entities.Person; public class ArrayTools { } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// package com.wgw.test; import com.wgw.entities.Student; import com.wgw.entities.Teacher; import com.wgw.tools.ArrayTools; public class ArrayTest { public static void main(String[] args) { System.out.println("在学生类中间:重新从小到大排列后,如下所示"); Student S1 = new Student("sornor","男","1000"); Student S2 = new Student("nike","女","10"); Student S3 = new Student("wai","女","10000000"); Student[] a = new Student[]{S1,S2,S3}; ArrayTools.sort(a); for(int i =0;i<a.length;i++) { System.out.println(a[i]); } System.out.println("---------------------------------"); System.out.println("在老师类中间:重新从小到大排列后,如下所示"); Teacher T1 = new Teacher("wangxiaocheng","女","2222"); Teacher T2 = new Teacher("liboxiang","男","1111"); Teacher T3 = new Teacher("fafa","男","3333"); Teacher[] b = new Teacher[]{T1,T2,T3}; ArrayTools.sort(b); for(int j = 0;j<b.length;j++) { System.out.println(b[j]); } } } 实验五 继承与接口 一、 实验目的 1、掌握java 继承中父类及其子类的定义方法。 2、掌握子类重写父类同名方法的方法。 3、掌握接口的用法。 (1) 学习如何定义接口 (2) 掌握接口的实现方式 (3) 使用实现了接口的类 (4) 理解接口与抽象类的区别。 二、 实验内容与要求 (注意:选做三个。每个源码后面要截出运行结果的图形,注意是截图。并记录遇到的问题,予以分析。) 1)5.1.4实践环节 2)5.2.4实践环节 3)5.3.4实践环节 4)5.6.4实践环节 5)5.7.4实践环节 三、 思考题 1、 super,final关键字的用法 2、 抽象类和接口的异同。 四、课后作业 P110: 1 实验六 异常处理 一、 实验目的 1、理解什么是异常 2、掌握java的异常处理机制和方法 二、 实验内容与要求 1、仔细读下面的JAVA语言源程序,自己给出程序的运行结果。 mport java.io.*; public class Ch51 { public static void main(String args[])throws IOException { int[] ko=new int[15]; int n,a; String x; BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter an integer:"); x=keyin.readLine(); n=Integer.parseInt(x); try { a=110/n; ko[15]=100; System.out.println("此描述无法执行!"); } catch(ArithmeticException e){ System.out.println("除数为0的错误"); } catch(ArrayIndexOutOfBoundsException f) { System.out.println("数组索引值大于数组长度的错误!"); } System.out.println("执行完catch的描述!!!"); } } 2.运行下面的程序,自己给出程序的运行结果。 import java.io.*; public class Ch52{ public Ch52(){ try{ int a[] = new int[2]; a[4] = 3; System.out.println("After handling exception return here?"); }catch(IndexOutOfBoundsException e){ System.err.println("exception msg:" + e.getMessage()); System.err.println("exception string:" + e.toString()); e.printStackTrace(); }finally{ System.out.println("-------------------"); System.out.println("finally"); } System.out.println("No exception?"); } public static void main(String args[]){ new Ch62 (); } } 三、 思考题 1. 本实验的实验内容2中,finally程序块的作用是什么? 2.比较throw和throws两者的用法上的区别。 实验七 常用实用类 一、 实验目的 1、掌握字符串类的使用。 2、 掌握日期类的使用。 3、 掌握数学公式的使用。 二、 实验内容与要求 (注意:选做三个。每个源码后面要截出运行结果的图形,注意是截图。并记录遇到的问题,予以分析。) 1)6.1.4实践环节 2)6.2.4实践环节 3)6.3.4实践环节 4)6.6.4实践环节 5)6.7.4实践环节 三、 思考题 1. 学会使用在线或者离线API帮助文档。请给出在线API帮助文档的链接。 四、课后作业 P1,2,3 实验八I/O编程 一、 实验目的 1、理解流的概念,流的划分 4、 掌握文件描述,顺序处理,随机访问处理的方法; 5、 能够熟练的使用过滤流;掌握字符流处理的方法; 6、 理解对象串行化的概念和方法。 二、 实验内容与要求 1、仔细读下面的JAVA语言源程序,自己给出程序的运行结果 import java.io.*; public class testRandom2{ public static void main(String args[]){ try{ RandomAccessFile rf=new RandomAccessFile("rtest.dat", "rw"); for(int i = 0; i < 10; i++){ rf.writeInt(i); rf.writeDouble(i*1.414); } rf.close(); rf = new RandomAccessFile("rtest.dat", "rw"); rf.seek(5*(4+8)); rf.writeInt(47); rf.writeDouble(47.00021); rf.close(); rf = new RandomAccessFile("rtest.dat", "r"); for(int i = 0; i < 10; i++){ ; System.out.println("Value " + rf.readInt() + ": " + rf.readDouble()); } rf.close(); }catch(IOException e){ System.out.println(e.toString()); } } } 2、编写程序,能接收键盘输入的字符串,并将字符串的内容写入文件。 三、 思考题 1、InputStream和OutputStream的基本方法是什么? 1、 DataOutputStream类的常用方法。 2、 Ascii编码和Unicode编码的区别? 5.字符流和字节流的区别是什么? 6.对文件进行读写操作的过程是什么? 四、课后作业 P163: 1 实验九 图形用户界面设计 一、 实验目的 1. 掌握常用GUI控制组件的使用方法。 2. 掌握事件处理的方法。 3.掌握swing和swt组件的使用。 二、 实验内容 (注意:选做三个。每个源码后面要截出运行结果的图形,注意是截图。并记录遇到的问题,予以分析。) 1)9.1.4实践环节 2)9.2.4实践环节 3)9.4.4实践环节 4)9.5.4实践环节 5)9.6.4实践环节 三、 课外补充 1、WindowBuilder是一款基于Eclipse平台的双向Java的GUI设计插件式的软件。具备SWT/JFACE开发、Swing开发及GWT 开发三大功能,是一款不可多得的Java体系中的WYSIWYG工具。同期还有许多其他插件式软件,大家可以自己上网查找。 2、借助WindowBuilder插件完成的界面设计。界面漂亮且省时省力。如果准备做复杂的界面设计,大家可以借助这些插件软件。 四、 思考题 1.Java的事件处理机制是怎样的? 实验十 综合训练 一、 实验目的 训练综合运用知识的能力,要求能读懂代码,并在此基础上,按照有关要求改进代码的功能。通过综合实训,提高编程能力。 二、 实验内容准备 (注意:选做一个。源码后面要截出运行结果的图形,注意是截图。最好给出设计思路,并记录遇到的问题,予以分析。) 1、 限时回答问题 2、 保存计算过程的计算器 3、 走迷宫
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服