欢迎来到天天文库
浏览记录
ID:49363467
大小:96.50 KB
页数:9页
时间:2020-02-29
《武汉理工Java实验报告(二).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、学生学号实验课成绩武汉理工大学学生实验报告书课程名称JAVA语言程序设计开课学院计算机科学与技术学院指导老师学生姓名专业班级2017—2018学年第一学期实验课程名称:JAVA语言程序设计实验项目名称类和对象实验成绩实验者专业班级组别同组者实验日期2017年10月2日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)1.编写一个抽象的二维几何体接口Geometricinterface,其中定义求周长和求面积方法,再编写三角形类其实现Geometricinterface接口,有三个边长属性,编写矩形类继承Geometricinterface接口,有长和宽属性。要求输入相关属性值后,
2、可以求得相应的周长值和面积值。附:求三角形面积其中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积。2.使用面向对象的思想编写计算器,改进第一次试验的第4题,实现加、减、乘、除操作。其中包括一个运算抽象类Operation和各个运算的实现。要求:(1)使用封装;(2)使用继承;(3)使用多态。(4)实现表达式的加、减、乘、除运算。计算:“3+(5*6-4)”实现思路:1)创建抽象类Operation及其子运算类;2)利用数据结构堆栈的思想,解析表达式;(选做,如果不能实现可以定义成员变量运算数1(numA)和运算数2(numB))3)编写测试类TestCalc进行验证。二、实验内容与
3、设计思想1./*几何*/(1)/*三角形类*/publicclassTriangleimplementsGeomInterface{doublea,b,c;//构造方法Triangle(intx,inty,intz){a=x;b=y;c=z;}//求周长publicvoidperimeter(){System.out.println("三角形的周长为"+(a+b+c));}//求面积publicvoidarea(){doublep=(a+b+c)/2;doubleS;S=Math.sqrt(p*(p-a)*(p-b)*(p-c));System.out.println("三角形的面积为"+S)
4、;}}(2)长方形类类似三角形类,略。(3)/*接口*/interfaceGeomInterface{voidperimeter();voidarea();}(4)/*主函数*/publicclassmian{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubSquares=newSquare(4,5);Trianglet=newTriangle(3,4,5);s.perimeter();s.area();t.perimeter();t.area();}}2.计算器(1)importjava.util.Scanne
5、r;classoperator{privatecharch;operatorlast;operatornext;publicvoidsetCh(charx){ch=x;}publicchargetCh(){returnch;}}abstractclassOperation{doublenum1,num2,result;abstractdoublegetResult();}classOperationaddextendsOperation{publicOperationadd(doublea,doubleb){//TODOAuto-generatedconstructorstubnum1=a;n
6、um2=b;}doublegetResult(){returnnum1+num2;}}classOperationsubextendsOperation{publicOperationsub(doublea,doubleb){//TODOAuto-generatedconstructorstubnum1=a;num2=b;}doublegetResult(){returnnum1-num2;}}classOperationmulextendsOperation{publicOperationmul(doublea,doubleb){//TODOAuto-generatedconstructor
7、stubnum1=a;num2=b;}doublegetResult(){returnnum1*num2;}}classOperationdivextendsOperation{publicOperationdiv(doublea,doubleb){//TODOAuto-generatedconstructorstubnum1=a;num2=b;}doublegetResult(){returnn
此文档下载收益归作者所有