版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一实验题目体操比赛计算选手成绩的办法是去掉一个最高分和一个最低分再计算平均分,而学校考察一个班级的某科目的考试情况时,是计算全班学生的平均成绩。Gymnastics类和School类都实现了ComputerAverage接口,但实现方式不同。程序代码interfaceComputerAverage{ publicdoubleaverage(doublex[]);}classGymnasticsimplementsComputerAverage{ publicdoubleaverage(doublex[]){ intcount=x.length; doubleaver=0,temp=0; for(inti=0;i<count;i++){ for(intj=i;j<count;j++){ if(x[j]<x[i]){ temp=x[i]; x[i]=x[j]; x[j]=temp; } } } for(inti=1;i<count-1;i++){ aver=aver+x[i]; } if(count>2) aver=aver/(count-2); else aver=0; returnaver; }}classSchoolimplementsComputerAverage{ publicdoubleaverage(doublex[]){ intcount=x.length; doubleaver=0; for(inti=0;i<count;i++){ aver=aver+x[i]; } if(count>0) aver=aver/count; returnaver;}}publicclassEstimator{ publicstaticvoidmain(Stringargs[]){ doublea[]={9.89,9.88,9.99,9.12,9.69,9.76,8.97}; doubleb[]={89,56,78,90,100,77,56,45,36,79,98}; ComputerAveragecomputer; computer=newGymnastics(); doubleresult=computer.average(a);//computer调用average(doublex[])方法,将数组a传递给参数x System.out.printf("%n"); System.out.printf("体操选手最后得分:%5.3f\n",result); computer=newSchool(); result=computer.average(b);//computer调用average(doublex[])方法,将数组b传递给参数x System.out.printf("班级考试平均分数:%-5.2f\n",result); }}实验结果实验分析一个类可以实现多个接口,类通过使用关键字implements声明自己实现一个或多个接口,如果一个非抽象类实现了某个接口,那么这个类必须重写该接口的所有方法。实验练习School类如果不重写publicdoubleaversge(doublex[])方法,程序编译时提示怎样的错误?答:SChool不是抽象的,并且未覆盖ComputerAverage中的抽象方法。实验二实验题目货车要装载一批货物,货物由三种商品组成:电视、计算机和洗衣机,卡车需要计算出整批货物的重量。实验代码实验三实验题目小狗在不同环境条件下可能呈现不同的状态表现,要求接口封装小狗的状态。具体要求如下:(1)编写一个接口DogState,该接口有一个名为voidshowState()方法。(2)编写一个Dog类,该类中有一个DogState接口声明的变量state,另外,该类有一个show()方法,在该方法中让接口state回调showState()方法。(3)编写若干个实现DogState接口的类,负责刻画小狗的各种状态。(4)编写主类,在主类中实现测试小狗的各种状态。程序代码interfaceDogState{ publicvoidshowState();}classSoftlyStateimplementsDogState{ publicvoidshowState(){ System.out.println("听主人的命令"); }}classMeetEnemyStateimplementsDogState{ publicvoidshowState(){ System.out.println("狂叫,并冲过去狠咬敌人"); }}classMeetFriendStateimplementsDogState{ publicvoidshowState(){ System.out.println("晃动尾巴,表示欢迎"); }}classMeetAnotherdogStateimplementsDogState{ publicvoidshowState(){ System.out.println("嬉戏"); }}classDog{ DogStatestate; publicvoidshow(){ state.showState(); } publicvoidsetState(DogStates){ state=s; }}publicclassCheckDogState{ publicstaticvoidmain(Stringargs[]){ DogyellowDog=newDog(); System.out.print("狗在主人面前:"); yellowDog.setState(newSoftlyState()); yellowDog.show(); System.out.print("狗遇到敌人:"); yellowDog.setState(newMeetEnemyState()); yellowDog.show(); System.out.print("狗遇到朋友:"); yellowDog.setState(newMeetFriendState()); yellowDog.show(); System.out.print("狗遇到同类:"); yellowDog.setState(newMeetAnotherdogState()); yellowDog.show(); }}实验结果实验分析面向接口编程是指当设计某种重要的类时,不让该类面向具体的类,而是面向接口,即所设计中的重要数据是接口声明的变量,而不是具体声明的对象。5、实验练习用面向接口的思想编写一个程序,模拟水杯中的水在不同温度下可能出现的状态。代码:interfaceWaterState{ publicvoidshowState();}classSubzeroStateimplementsWaterState{ publicvoidshowState(){ System.out.println("结冰"); }}classNormalStateimplementsWaterState{ publicvoidshowState(){ System.out.println("冰冷或凉快"); }}classHotStateimplementsWaterState{ publicvoidshowState(){ System.out.println("有热气冒出,温热"); }}classBoiledStateimplementsWaterState{ publicvoidshowState(){ System.out.println("沸腾,烫"); }}classWater{ WaterStatestate; publicvoidshow(){ state.showState(); } publicvoidsetState(WaterStates){ state=s; }}publicclassCheckWaterState{ publicstaticvoidmain(Stringargs[]){ WatercupWater=newWater(); System.out.print("水杯中的水在零下时:"); cupWater.setState(newSubzeroState()); cupWater.show(); System.out.print("水杯中的水在常温时:"); cupWater.setState(newNormalState()); c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语文统编版(2024)一年级上册阅读9乌鸦喝水 教案
- 高中语法被动语态
- 会计数据分析 TestBank Richardson1e-Chapter04-TB-AnswerKey
- 产科妊娠期肝内胆汁淤积症护理查房
- 2024届陕西交大附中高三第三次诊断性考试数学试题试卷
- 5年中考3年模拟试卷初中生物八年级下册专项素养综合全练(二)
- 高中语文改造我们的学习随堂练习(含答案)
- 镁空气电池研究进展
- 苏少版三年级美术下册教案(全册)
- 小学2024-2025学年教科研工作计划
- 沪科版七年级上册数学教学课件3.2 第3课时 比例与和、差、倍、分问题
- 中国旅游地理(第七版)第03章中国旅游资源地理
- syb游戏模块 基本企业周期
- 《幼儿园大班第一学期家长会》 PPT课件
- 专科医生如何带教全科医生(优质荟萃)课件(PPT 31页)
- Revit基础入门课件(PPT 126页)
- 污水处理厂药剂及材料采购投标文件
- 智慧图书馆系统建设方案
- 保靖县供水工程扩建项目可行性研究报告
- 电气工程专业英语词汇表
- 金龙JLCZ型化工流程泵说明书
评论
0/150
提交评论