




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四 类与对象1. 实验目的1、使用类来封装对象的属性和行为;2、掌握对象的组合以及参数传递;3、掌握类变量与实例变量,以及类方法与实例方法的区别2. 实验内容1、参考实验指导书中P17-25页,完成下面实验:1)实验1 Tank类2)实验2 计算机与光盘3)实验3 家族的姓氏4)实验4 三角形、梯形和圆形的类封装5)实验5 实例成员与类成员2、完成习题:1)根据要求修改实验1,改进speedUP方法,使得Tank类的对象加速时不能将speed值超过220;增加一个刹车方法:void brake(),Tank类的对象调用它能将speed的值变成0。2)根据要求修改实验2,主类中再增加一个CD的对象,然后将计算机中的数据(data数组)复制到CD对象中。3. 实验步骤参考实验指导书中P17-25页的实验。4. 评分标准1. A内容功能完善,编程风格好,人机接口界面好; 2. B内容功能完善,编程风格良好,人机接口界面良好;3. C完成必做内容;4. D能完成必做内容;5. E未按时完成必做内容,或者抄袭(雷同者全部为E).参照书上实验按模版要求,将【代码】替换为Java程序代码,编写好完整的程序文档,最后运行得到的相关文件,把实验所得文件一起打包上交。(压缩包的文件名为:学号后三位和名字开头字母,如109zhhRAR|ZIP)实验1 Tank类模板代码 Tank.javapublic class Tank /【代码1】/声明double型变量speed,刻画速度/【代码2】/声明int型变量bulletAmount,刻画炮弹数量void speedUp(int s)/【代码3】/s+speed赋值给speedvoid speedDown(int d)if(speed-d=0)/【代码4】/d-speed赋值给speedelsespeed=0;int getBulletAmount() return bulletAmount;void setBulletAmount(int m) bulletAmount = m;double getSpeed() return speed;void fire()if(bulletAmount=1)/【代码5】/将bulletAmount-1赋值给bulletAmountSystem.out.println(打出一发炮弹);elseSystem.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();System.out.println(tank1的炮弹数量:+tank1.getBulletAmount();System.out.println(tank2的炮弹数量:+tank2.getBulletAmount();实验2 计算机与光盘模板代码 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 includCD;public void putCD(CD cd)includCD=cd;int size=includCD.getSize();data=new intsize;void copyToComputer()int b=includCD.getContent();int min=Math.min(data.length,b.length);for(int i=0;idata.length;i+)datai=bi;public void addData(int m)for(int i=0;idata.length;i+)datai=datai+m;void copyToCD()includCD.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的引用传递给cdSystem.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);实验3 家族的姓氏模板代码 FamilyPerson.javapublic class FamilyPerson static String surname;String name;public static void setSurname(String s) surname = s;public void setName(String s) = 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),传递向阳sonOne.setName(抗日);sonTwo.setName(抗战);System.out.println(父亲:+father.surname+);System.out.println(大儿子:+sonOne.surname+sonO);System.out.println(二儿子:+sonTwo.surname+sonT);【代码3】/father调用setName(String s),传递张System.out.println(父亲:+father.surname+);System.out.println(大儿子:+sonOne.surname+sonO);System.out.println(二儿子:+sonTwo.surname+sonT);实验4 三角形、梯形和圆形的类封装模板代码 AreaAndLength.javaclass Trangle double sideA,sideB,sideC,area,length; boolean boo; public Trangle(double a,double b,double c) 【代码1】 /参数a,b,c分别赋值给sideA,sideB,sideC if(【代码2】) /a,b,c构成三角形的条件表达式 【代码3】 /给boo赋值。 else 【代码4】 /给boo赋值。 double getLength() 【代码5】 /方法体,要求计算出length的值并返回 public double getArea() if(boo) double p=(sideA+sideB+sideC)/2.0; area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC) ; return area; else System.out.println(不是一个三角形,不能计算面积); return 0; public void setABC(double a,double b,double c) 【代码6】 /参数a,b,c分别赋值给sideA,sideB,sideC if(【代码7】) /a,b,c构成三角形的条件表达式 【代码8】 /给boo赋值。 else 【代码9】 /给boo赋值。 class Lader double above,bottom,height,area; Lader(double a,double b,double h) 【代码10】 /方法体,将参数a,b,c分别赋值给above,bottom,height double getArea() 【代码11】 /方法体,,要求计算出area返回 class Circle double radius,area; Circle(double r) 【代码12】 /方法体 double getArea() 【代码13】 /方法体,要求计算出area返回 double getLength() 【代码14】 /getArea方法体的代码,要求计算出length返回 void setRadius(double newRadius) radius=newRadius; double getRadius() return radius; public class AreaAndLength public static void main(String args) double length,area; Circle circle=null; Trangle trangle; Lader lader; 【代码15】 /创建对象circle 【代码16】 /创建对象trangle。 【代码17】 /创建对象lader 【代码18】 / circle调用方法返回周长并赋值给length System.out.println(圆的周长:+length); 【代码19】 / circle调用方法返回面积并赋值给area System.out.println(圆的面积:+area); 【代码20】 / trangle调用方法返回周长并赋值给length System.out.println(三角形的周长:+length); 【代码21】 / trangle调用方法返回面积并赋值给area System.out.println(三角形的面积:+area); 【代码22】 / lader调用方法返回面积并赋值给area System.out.println(梯形的面积:+area); 【代码23】 / trangle调用方法设置三个边,要求将三个边修改为12,34,1。 【代码24】 / trangle调用方法返回面积并赋值给area System.out.println(三角形的面积:+area); 【代码25】 / trangle调用方法返回周长并赋值给length System.out.println(三角形的周长:+length); 实验5 实例成员与类成员模板代码 Example.javaclass A 【代码1】 /声明一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东省开平市中考数学考点攻克附参考答案详解【达标题】
- 2024自考专业(金融)题库含答案详解【考试直接用】
- 2025驾驶员考试过关检测试卷含答案详解(突破训练)
- 2025银行岗位试卷(含答案详解)
- 2023年度咨询工程师全真模拟模拟题含答案详解【能力提升】
- 2025年光伏发电系统设计与优化考核综合提升测试卷及参考答案详解(模拟题)
- 2024安全监察人员练习题及完整答案详解【夺冠】
- 2025年资料员之资料员基础知识考试彩蛋押题及答案详解(真题汇编)
- 2025计算机三级考前冲刺测试卷含答案详解【突破训练】
- 2025年首都医科大学附属北京同仁医院门头沟医院北京市门头沟区考前自测高频考点模拟试题附答案详解(夺分金卷)
- 2025甘肃兰州兴蓉环境发展有限责任公司招聘内控管理岗等岗位5人笔试模拟试题及答案解析
- 苏教版三年级上册数学全册教学设计(配2025年秋新版教材)
- 用电安全与消防知识培训课件
- 2025年法考真题及答案
- 基孔肯雅热防护知识科普课件
- 2025年思想政治教育实践考试试题及答案解析
- 志愿者个人汇报
- 医院安全教育培训课件
- 食品安全规章制度目录16项
- 2025至2030年中国导热散热材料行业市场发展现状及投资方向研究报告
- 2025年西安银行竞聘面试题目及答案
评论
0/150
提交评论