版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生学号实验课成绩武汉理工大学学生实验报告书课程名称JAVA语言程序设计开课学院计算机科学与技术学院指导老师学生姓名专业班级20172018学年第一学期实验课程名称:JAVA语言程序设计实验项目名称类和对象实验成绩实验者专业班级名且另IJ同组者实验日期2017年10月2日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述).编写一个抽象的二维几何体接口Geometricinterface,其中定义求周长和求面积方法,再编写三角形类其实现Geometricinterface接口,有三个边长属性,编写矩形类继承Geometricinterface接口,有长和宽属性。要求输入相关属性值后
2、,可以求得相应的周长值和面积值。附:求三角形面积s-dp(p-瞰p-匚)其中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积。.使用面向对象的思想编写计算器,改进第一次试验的第4题,实现加、减、乘、除操作。其中包括一个运算抽象类Operation和各个运算的实现。要求:(1)使用封装;(2)使用继承;(3)使用多态。(4)实现表达式的加、减、乘、除运算。计算:“3+(5*6-4)”实现思路:1)创建抽象类Operation及其子运算类;2)利用数据结构堆栈的思想,解析表达式;(选做,如果不能实现可以定义成员变量运算数1(numA)和运算数2(numB)3)编写测试类TestCalc进
3、行验证。二、实验内容与设计思想1./*几何*/(1)/*三角形类*/publicclassTriangleimplementsGeomlnterfacedoublea,b,c;构造方法Triangle(intx,inty,intz)a=x;b=y;c=z;求周长publicvoidperimeter。System.out.println(m角形的周长为+(a+b+c);求面积publicvoidarea()doublep=(a+b+c)/2;doubleS;S=Math.sqrt(p*(p-a)*(p-b)*(p-c);System.out.println(m角形的面积为+S);(2)长方形类
4、类似三角形类,略。/*接口*/interfaceGeomlnterfacevoidperimeter。;voidarea();/*主函数*/publicclassmianpublicstaticvoidmain(String口args)/TODOAuto-generatedmethodstubSquares=newSquare(4,5);Trianglet=newTriangle(3,4,5);s.perimeter();s.area();t.perimeter();t.area();2.计算器importjava.util.Scanner;classoperatorprivatecharch
5、;operatorlast;operatornext;publicvoidsetCh(charx)ch=x;publicchargetCh()returnch;abstractclassOperationdoublenum1,num2,result;abstractdoublegetResult();classOperationaddextendsOperationpublicOperationadd(doublea,doubleb)/TODOAuto-generatedconstructorstubnum1=a;num2=b;doublegetResult()returnnum1+num2;
6、classOperationsubextendsOperationpublicOperationsub(doublea,doubleb)/TODOAuto-generatedconstructorstubnum1=a;num2=b;doublegetResult()returnnum1-num2;classOperationmulextendsOperationpublicOperationmul(doublea,doubleb)/TODOAuto-generatedconstructorstubnum1=a;num2=b;doublegetResult()returnnum1*num2;cl
7、assOperationdivextendsOperationpublicOperationdiv(doublea,doubleb)/TODOAuto-generatedconstructorstubnum1=a;num2=b;doublegetResult()returnnum1/num2;publicclassDemo2staticintjudge(charch1,charch2)if(ch1=+)switch(ch2)case+:return-1;default:break;if(ch1=-)switch(ch2)if(ch1=*)switch(ch2)if(ch1=/)switch(c
8、h2)1)if(ch2=)return2;elsereturn1;if(ch1=)return0;if(ch1=#)switch(ch2)return0;publicstaticvoidmain(Stringargs)/TODOAuto-generatedmethodstubSystem.out.println(请输入一个以#结尾的表达式:);Scannerscanner=newScanner(System.in);Stringstr=scanner.next();if(str.charAt(str.length()-1)!=35)System.out.println(nn);return;i
9、ntflag1=0,flag2=0,flag3=0;numbernum1=null,num2=null;numberfirstnum=newnumber();firstnum.setA(0);operatorfirstoperator=newoperator。;firstoperator.setCh(#);operatorop1=firstoperator,op2=null;for(inti=0;istr.length();i+)charch=str.charAt(i);if(ch47)if(flag2=0)if(firstnum.getA()=0)firstnum.setA(ch-48);n
10、um1=firstnum;flag2=1;elsenum2=newnumber();num2.setA(ch-48);flag2=1;elsenum2.setA(num2.getA()*10+(ch-48);flag2=1;elseflag2=0;op2=newoperator。;op2.setCh(ch);flag1=judge(op1.getCh(),op2.getCh();switch(flag1)case-1:switch(op1.getCh()case+:num1.setA(newOperationadd(num1.getA(),num2.getA().getResult();op2
11、=null;num2=null;op1=op1.last;i-;break;case-:num1.setA(newOperationsub(num1.getA(),num2.getA().getResult();opl.setCh(ch);op2=null;num2=null;op1=op1.last;i-;break;case*:num1.setA(newOperationmul(num1.getA(),num2.getA().getResult();opl.setCh(ch);op2=null;num2=null;op1=op1.last;i-;break;case/:num1.setA(
12、newOperationdiv(num1.getA(),num2.getA().getResult();opLsetCh(ch);op2=null;num2=null;op1=op1.last;i-;break;break;case1:op1.next=op2;op2.last=op1;op1=op2;if(num2!=null)num1.next=num2;num2.last=num1;num1=num2;break;一case2:.break;case0:break;21case-2:,(2)/*number*/packagejava实验2;classnumberprivatedouble
13、a;numberlast;numbernext;publicvoidsetA(doublex)a=x;publicdoublegetA()returna;classoperatorprivatecharch;operatorlast;operatornext;publicvoidsetCh(charx)ch=x;publicchargetCh()returnch;l验使用环境iJAVAOxygen第二部分:实验调试与结果分析(可加页)第二部分:实验调试与结果分析(可加页)调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)=:terininaledmianJavaApp矩弓”.田长为9定号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44337-2024海平面变化观测与影响评价
- 贡献率与拉动增长率
- 新苏教版三年级上册数学教案
- 领导学邱霈恩考试重点
- 苏教版二年级数学上册《第六单元》单元教案
- 《汽车发动机构造与维修》 课件 项目四 任务1 润滑系的认识
- 《团结的力量》合作精神教案
- 《开国大典》国家庆典教案
- 初中+语文++第13课《湖心亭看雪》课件+统编版语文九年级上册
- 人教版初中八年级语文上册学案 全册
- 人工肝治疗指南
- 水运码头泊位质量检测交工检测报告模板
- 小学语文人教五年级上册(统编)第四单元-诗中离别情-群文阅读教学设计
- 珠算教程(第五版)第二单元珠算基础知识
- 生产指挥中心岗位责任清单
- 蓝色可爱卡通竞选班长通用PPT模板
- 周界防范及自动跟踪系统应用方案设计V1.0(海康)
- 《第一节 地球的宇宙环境》获奖说课课件ppt
- 中国邮政储蓄银行财务核算基础规范试行
- 新版神经系统疾病的病史采集和体格检查ppt
- 大班音乐《捏面人》原版动态PPT课件
评论
0/150
提交评论