




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山西农业大学Java面向对象程序设计实验课程教学大纲一、课程基本信息课程编码: 609A2011 课程中文名称:java面向对象程序设计 课程英文名称: java oriented object program design 实验学时:24 实验学分:3适用专业:信息与计算科学 开课学期:春季大纲执笔人:孙晶京 大纲审核人:孙晶京 编写时间:2014-3二、课程性质专业必修课三、实验教学目的与任务通过本课程的实验,掌握Java语言的基本语法,学会利用面向对象程序设计的基本理论和思想解决实际问题,提高学生开发和调试程序的能力。四、实验课程基本要求在掌握理论支持的基础上,能够具备与理论相对应的实践开发能力,具体要求与理论要求相同,如下:(1)掌握Java语言的基本语法和基本结构;(2)掌握面向对象程序设计的基本方法;(3)熟练使用封装、继承、多态、抽象类、接口技术;(4)掌握java swing图形用户界面编程;(5)掌握jdbc数据库编程方法;(6)掌握Java异常的处理方法;五、实验课程内容与学时分配(请不要随意变动此表的格式):序号实验项目名称类 型学 时基础综合设计研究创新一Java入门2二基本数据类型2三运算符、表达式与语句2四类与对象2五继承与接口2六内部类与异常类2七面向对象基本原则2八常用实用类2九Java swing图形用户界面2十对话框2十一输入输出流2十二Jdbc数据库操作2六、实验内容及教学要求实验项目一:java入门实验1 一个简单的应用程序实验教学目标: 掌握开发java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。实验场地或主要设备与器材:计算机实验要求:编写一个java应用程序,该程序在命令行输出两行文字:“你好,很高兴学习java“和”We are student“实验内容:Hello.javapublic class Hello public static void main (String args ) System.out.printf(“你好,很高兴学习java”); /命令行窗口输出你好,很高兴学习Java A a=new A(); a.fA(); class A void fA() System.out.printf(“We are students”); /命令行窗口输出We are students 实验内容要求:将【代码】部分替换为java程序代码。实验报告要求:要有实验名称,实验目的,实验要求,实验内容(源代码),运行结果和总结。实验2教室、老师和学生实验教学目标: 熟悉java应用程序的基本结构,并能联合编译应用程序所需要的类。实验场地或主要设备与器材:计算机实验要求:编写3个源文件:ClassRoom.java ,Teacher.java 和Student.java,每个源文件只有一个类。ClassRoom.java含有应用程序的主类,并使用了Teacher和student类。将3个源文件保存到同一目录中,然后编译ClassRoom.java实验内容:ClassRoom.javapublic class ClassRoom public static void main (String args ) System.out.printf(“教学活动从教室开始”);/命令行窗口输出教学活动从教室开始 Teacher zhang = new Teacher(); Student jiang = new Student(); roduceSelf(); roduceSelf(); Teacher.javapublic class Teacher void introduceSelf() System.out.printf(“我是张老师”); /命令行窗口输出我是张老师 Student.javapublic class Student void introduceSelf() System.out.printf(“我是学生,名字是:奖励”);/ /命令行窗口输出我是学生,名字是:奖励 实验内容要求:将【代码】部分替换为java程序代码。实验报告要求:要有实验名称,实验目的,实验要求,实验内容(源代码),运行结果和总结。实验项目二:基本数据类型 实验1 输出特殊偏旁的汉字实验教学目标: 掌握char型和int型数据之间的互相转换,同时了解unicode字符表。实验场地或主要设备与器材:计算机实验要求:编写应用程序,在命令行窗口输出5个“石“子旁的汉字和5个”女“子旁的汉字。实验内容:InputChinese.javapublic class E public static void main (String args ) char ch=研,zifu=0; int p=22920,count=5,position=0; System.out.printf(输出%d个石字傍的汉字:n,count); for(char c=ch;c=ch+count;c+) int position = (int)c; /c进行int型转换据运算,并将结果赋值给position System.out.printf(%c(%d),c,position); System.out.printf(n输出%d个女字傍的汉字:n,count); for(int n=p;n=p+count;n+) 【代码2】 / n做char型转换运算,并将结果赋值给zifu System.out.printf(%c(%d),zifu,n); 实验内容要求:将【代码】部分替换为java程序代码。实验报告要求:要有实验名称,实验目的,实验要求,实验内容(源代码),运行结果和总结。实验2输入、输出学生的基本信息实验教学目标: 掌握从键盘为简单型变量输入数据。实验场地或主要设备与器材:计算机实验要求:编写应用程序,使用Scanner对象输入学生的基本信息,并输出基本信息。实验内容:InputMess.javaimport java.util.Scanner;public class InputMess public static void main(String args) Scanner reader=new Scanner(System.in); System.out.println(输入姓名(回车确认):);String name=【代码1】 /从键盘为name赋值 System.out.println(输入年龄(回车确认):); byte age=【代码2】 /从键盘为age赋值 System.out.println(输入身高(回车确认):); float height=【代码3】 /从键盘为height赋值 System.out.printf(%28sn,-基本信息-); System.out.printf(%10s%-10s,姓名:,name); System.out.printf(%4s%-4d,年龄:,age); System.out.printf(%4s%-4.2f,身高:,height); 实验内容要求:将【代码】部分替换为java程序代码。实验报告要求:要有实验名称,实验目的,实验要求,实验内容(源代码),运行结果和总结。实验3超大整数的加法实验教学目标: 掌握使用数组处理大整数的加法。实验场地或主要设备与器材:计算机实验要求:声明3个int型数组:a,b,c,要求三者的长度相同。将其中的a,b初始化为大整数的表示,但大整数的数字的长度必须小于数组的长度,以便保证数组a,b的首元素为0。将a,b的各个元素进行加法运算(需要进位时,需要改变a的元素的值),结果依次存放到数组c中,输出数组c。实验内容:HandleLargeNumber.javapublic class HandleLargeNumber public static void main(String args) int a = 0,9,9,7,9,4,5,6,7,2,3,4,5,6,4,7,8,9,8,7,6,9; int b = 0,0,5,9,1,6,4,5,6,2,3,4,5,7,2,1,3,4,0,3,2,9; int c= new inta.length; int i = 0,result =0,k=0; for(i=0;ia.length;i+) if(ai!=0) k=i; break; for(i=k;ia.length;i+) System.out.printf(%d,ai); System.out.printf(n加上:n); for(i=0;ib.length;i+) if(bi!=0) k=i; break; for(i=k;i=0;i-) result = ai+bi; if(result=10) ci = result%10; ai-1 = ai-1+1; else ci = result; System.out.printf(n等于:n); for(i=0;ic.length;i+) if(ci!=0) k=i; break; for(i=k;i=0) 【代码4】 /将speed-d赋值给speed else speed = 0; void setBulletAmount(int m) bulletAmount = m; int getBulletAmount() return bulletAmount; double getSpeed() return speed; void fire() if(bulletAmount=1) 【代码5】 /将bulletAmount-1赋值给bulletAmount System.out.println(打出一发炮弹); else System.out.println(没有炮弹了,无法开火); Fight.javapublic class Fight public static void main(String args) Tank tank1,tank2; tank1 = new Tank(); tank2 = new Tank(); tank1.setBulletAmount(10); tank2.setBulletAmount(10); System.out.println(tank1的炮弹数量:+tank1.getBulletAmount(); System.out.println(tank2的炮弹数量:+tank2.getBulletAmount(); tank1.speedUp(80); tank2.speedUp(90); System.out.println(tank1目前的速度:+tank1.getSpeed(); System.out.println(tank2目前的速度:+tank2.getSpeed(); tank1.speedDown(15); tank2.speedDown(30); System.out.println(tank1目前的速度:+tank1.getSpeed(); System.out.println(tank2目前的速度:+tank2.getSpeed(); System.out.println(tank1开火:); tank1.fire(); System.out.println(tank2开火:); tank2.fire(); tank2.fire(); System.out.println(tank1的炮弹数量:+tank1.getBulletAmount(); System.out.println(tank2的炮弹数量:+tank2.getBulletAmount(); 实验内容要求:将【代码】部分替换为java程序代码。实验报告要求:要有实验名称,实验目的,实验要求,实验内容(源代码),运行结果和总结。实验2计算机与光盘实验教学目标: 掌握对象的组合以及参数传递。实验场地或主要设备与器材:计算机实验要求: 模拟在计算机中放入光盘,即计算机将CD类型的对象作为自己的一个成员变量。具体要求如下:(1) 有三个源文件:CD.java,Computer.java,User.java。其中CD.java中的CD类负责创建光盘对象。Computer.java中Compute类有类型是CD,名字是includeCD的成员变量,Computer类负责创建计算机对象。User.java是主类。(2) 在主类的main方法中首先使用CD类创建一个对象:dataCD,然后使用Computer类再创建一个对象:computerIBM,computerIBM对象将CD的实例“dataCD”的引用传递给computerIBM对象的成员变量“includeCD”。实验内容:CD.javapublic class CD int size; int content; public void setSize(int size) this.size = size; content = new intsize; public int getSize() return size; public int getContent() return content; public void setContent(int b) int min=Math.min(content.length,b.length); for(int i=0;imin;i+) contenti = bi; Computer.javapublic class Computer int data; CD includeCD; public void putCD(CD cd) includeCD = cd; int size=includeCD.getSize(); data=new intsize; void copyToComputer() int b = includeCD.getContent(); int min=Math.min(data.length,b.length); for(int i=0;imin;i+) datai = bi; public void addData(int m) for(int i=0;idata.length;i+) datai = datai+m; void copyToCD() includeCD.setContent(data); void showData() for(int i=0;idata.length;i+) System.out.printf(%3d,datai); User.javapublic class User public static void main(String args) CD dataCD = new CD(); int b =1,2,3,4,5,6,7,8; dataCD.setSize(b.length); dataCD.setContent(b); int a=dataCD.getContent(); System.out.println(dataCD上的内容:); for(int i=0;ia.length;i+) System.out.printf(%3d,ai); Computer computerIMB = new Computer(); 【代码1】/computerIMB调用putCD(CD cd)方法,将dataCD的引用传递给cd System.out.println(n将dataCD的数据复制到计算机:computerIMB.); 【代码2】/computerIMB调用copyToComputer()方法 System.out.println(computerIMB上的内容:); computerIMB.showData(); int m=12; System.out.println(ncomputerIMB将每个数据增加+m); computerIMB.addData(m); System.out.println(computerIMB将增值后的数据复制到CD:dataCD); 【代码3】/computerIMB调用copyToCD()方法 System.out.println(dataCD上的内容:); a=dataCD.getContent(); for(int i=0;ia.length;i+) System.out.printf(%3d,ai); 实验内容要求:将【代码】部分替换为java程序代码。实验报告要求:要有实验名称,实验目的,实验要求,实验内容(源代码),运行结果和总结。实验3家族的姓氏实验教学目标: 掌握类变量和实例变量以及类方法和实例方法的区别。实验场地或主要设备与器材:计算机实验要求:模拟一个家族成员的姓氏,姓名有两部分构成:姓氏和名字。编写一个FamilyPerson类,该类有一个静态的String型成员变量surname,用于存储姓氏,一个实例的String型成员变量name,用于存储名字。在主类MainClass的main方法中首先用类名访问surname,并为surname赋值,然后FamilyPerson创建3个对象,father,sonOne和sonTwo,并分别为father,sonOne和sonTwo的成员变量name赋值。实验内容:FamilyPerson.javapublic class FamilyPerson static String surname; String name; public static void setSurname(String s) surname = s; public void setName(String s) name = s; MainClass.javapublic class MainClass public static void main(String args) 【代码1】 /用类名FamilyPerson访问surname,并为surname赋值:李 FamilyPerson father,sonOne,sonTwo; father = new FamilyPerson(); sonOne = new FamilyPerson(); sonTwo = new FamilyPerson(); 【代码2】 /father调用setName(String s),并向s传递向阳 sonOne.setName(抗日); sonTwo.setName(抗战); System.out.println(父亲:+father.surname+); System.out.println(大儿子:+sonOne.surname+sonO); System.out.println(二儿子:+sonTwo.surname+sonT); 【代码3】/ father调用setSurName(String s),并向s传递张 System.out.println(父亲:+father.surname+); System.out.println(大儿子:+sonOne.surname+sonO); System.out.println(二儿子:+sonTwo.surname+sonT); 实验内容要求:将【代码】部分替换为java程序代码。实验报告要求:要有实验名称,实验目的,实验要求,实验内容(源代码),运行结果和总结。实验项目五:继承与接口实验1 中国人和美国人实验教学目标: 巩固子类的继承性,子类对象的创建过程以及方法的继承和重写。实验场地或主要设备与器材:计算机实验要求: 编写程序模拟中国人、美国人和北京人。要求如下:People类有权限为protected的double型成员变量:weight和height,以及public void speakHello()、public void averageHeight()和public void averageWeight()。ChinaPeople类是People的子类,增加了public void chinaGongfu()方法。要求ChinaPeople重写public void speakHello()、public void averageHeight()和public void averageWeight()方法。AmericanPeople类是People的子类,增加了public void americanBoxing()方法。要求AmericanPeople重写public void speakHello()、public void averageHeight()和public void averageWeight()方法。BeijingPeople 类是 ChinaPeople的子类,增加了public void beijingOpera()方法。要求BeijingPeople重写public void speakHello()、public void averageHeight()和public void averageWeight()方法。实验内容:People.javapublic class People protected double weight,height; public void speakHello() System.out.println(yayayaya); public void averageHeight() height=173; System.out.println(average height:+height); public void averageWeight() weight=70; System.out.println(average weight:+weight); ChinaPeople.javapublic class ChinaPeople extends People public void speakHello() System.out.println(您好); public void averageHeight() height = 168.78; System.out.println(中国人的平均身高:+height+ 厘米); 【代码1】 /重写public void averageWeight()方法,输出:中国人的平均体重:65公斤 public void chinaGongfu() System.out.println(坐如钟,站如松,睡如弓); AmericanPeople.javapublic class AmericanPeople extends People 【代码2】 /重写public void speakHello()方法,输出How do you do 【代码3】 /重写public void averageHeight()方法,输出Americans average height:176 cm public void averageWeight() weight = 75; System.out.println(Americans average weight:+weight+ kg); public void americanBoxing() System.out.println(直拳、钩拳、组合拳); BeijingPeople.javapublic class BeijingPeople extends ChinaPeople 【代码4】 /重写public void averageHeight()方法, 输出:北京人的平均身高:172.5厘米 【代码5】 /重写public void averageWeight()方法,输出:北京人的平均体重:70公斤 public void beijingOpera() System.out.println(花脸、青衣、花旦和老生); Example.javapublic class Example public static void main(String args) ChinaPeople chinaPeople=new ChinaPeople(); AmericanPeople americanPeople=new AmericanPeople(); BeijingPeople beijingPeople=new BeijingPeople(); chinaPeople.speakHello(); americanPeople.speakHello(); beijingPeople.speakHello()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园鸟类生态研究对中学生生物科学素养提升的影响论文
- 基于核心素养的初中数学高阶思维培养路径研究论文
- 艺考生形体管理制度
- 苏泊尔现金管理制度
- 茶水间吃饭管理制度
- 财务管理课程实训
- 财务部组织机构图与岗位职责
- 财会经济-高级经济师-旅游经济-14-强化练习题-强化练习题七
- 内蒙古巴彦淖尔市多校2025年初中学业水平考试模拟(二)数学试卷(含答案)
- 河南省平顶山市鲁山县五所学校2025届九年级下学期中考三模地理试卷(含答案)
- 房屋买卖居间合同书范本
- 锤击桩(砼预制方桩、预应力砼管桩、钢桩)工程旁站监理记录
- 基于文献计量学的屋顶绿化研究综述
- 医疗设备日常维护记录
- 血液标本采集-课件
- 【液压机控制系统故障及诊断方法研究12000字(论文)】
- 中国蚕丝绸文化-浙江大学中国大学mooc课后章节答案期末考试题库2023年
- 中考地理试卷附详细答案
- 2023-2024学年广东省广州市小学语文二年级期末自测考试题详细参考答案解析
- GB/T 42532-2023湿地退化评估技术规范
- 2023-2024学年江苏省太仓市小学语文五年级期末自测试卷附参考答案和详细解析
评论
0/150
提交评论