JAVA复习题答案2

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1(三)编程题1.声明复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法操作。创建运行程序类,测试银行账户类。publicclassComplex{privateintreal,imag;Complex(intreal,intimag){this.real=real;this.imag=imag;}Complex(Complexcomp){this(comp.real,comp.imag);}Complex(){this(0,0);}publicStringadd(Complexcomp1,Complexcomp2){this.real=comp1.real+comp2.real;this.imag=comp1.imag+comp2.imag;returntoString();}publicStringsubtract(Complexcomp1,Complexcomp2){this.real=comp2.real-comp1.real;this.imag=comp2.imag-comp1.imag;returntoString();}publicStringtoString(){return(+this.real+++this.imag+i);}publicstaticvoidmain(String[]args){Complexcomp1=newComplex(1,2);Complexcomp2=newComplex(2,3);2Complexresult_comp=newComplex();result_comp.add(comp1,comp2);System.out.println(comp1+++comp2+=+result_comp);result_comp.subtract(comp1,comp2);System.out.println(comp2+-+comp1+=+result_comp);}}32.采用面向对象的程序设计方法编写一个计算矩形和椭圆形面积的程序。要求:定义面积接口以增强程序的扩展性。publicinterfaceArea{publicabstractdoublearea();}publicclassRectangleimplementsArea{protecteddoublelength,width;//长度和宽度Rectangle(doublelength,doublewidth)//构造方法{this.length=length;this.width=width;}publicdoublearea()//计算矩形面积,实现Area接口中的抽象方法{returnthis.width*this.length;}publicStringtoString(){return一个矩形,长度+this.length+,宽度+this.width+,面积为+this.area();}publicstaticvoidmain(Stringargs[]){System.out.println(newRectangle(10,20).toString());}}publicclassEllipseimplementsArea{privateintx,y;Ellipse(intx,inty){this.x=x;this.y=y;}4publicdoublearea(){//TODOAuto-generatedmethodstubreturnMath.PI*x*y;}publicstaticvoidmain(Stringargs[]){Ellipsee=newEllipse(20,10);System.out.print(椭圆的长轴为:+e.x+,椭圆的短轴为:+e.y+,椭圆的面积为:+e.area());}}53.声明一个Average接口,其中约定求平均值的方法;声明多个类实现Average接口,分别给出求平均值的方法实现。并创建运行程序类。(1)全部数值相加后求平均值(2)去掉一个最高分和一个最低分后,再将总分求平均值(3)使用命令行参数作为输入数据,对于不能转换成数值的字符串进行异常处理。publicinterfaceAverage{publicabstractdoubleaverage(String[]table);}classAverageAllimplementsAverage{publicdoubleaverage(doubletable[]){doubleaverage=0.0;if(table!=null&&table.length0){doublesum=0.0;for(inti=0;itable.length;i++){sum+=table[i];}average=sum/table.length;}returnaverage;}publicdouble[]todoubleArray(Stringstr[])throwsNumberFormatException{if(str!=null&&str.length0){doubletable[]=newdouble[str.length];for(inti=0;istr.length;i++){table[i]=Double.parseDouble(str[i]);}returntable;}returnnull;}}6classAverageExceptMaxMinimplementsAverage{publicdoubleaverage(doubletable[]){doubleaverage=0.0;if(table!=null&&table.length2){doublemax=table[0];doublemin=table[0];doublesum=0.0;for(inti=0;itable.length;i++){if(table[i]min){min=table[i];}if(table[i]max){max=table[i];}sum+=table[i];}average=(sum-min-max)/(table.length-2);}returnaverage;}}publicclassTestAverage{/***@paramargs*/publicstaticvoidmain(String[]args){double[]tab=null;AverageAllavg=newAverageAll();System.out.println(avg.average(tab));AverageExceptMaxMinavgMaxMin=newAverageExceptMaxMin();7System.out.println(avgMaxMin.average(tab));try{System.out.println(avg.average(avg.todoubleArray(args)));}catch(NumberFormatExceptione){System.out.print(字符串不能转化成浮点数);}}}84.编写一个Java应用程序,要求:(1)从命令行获取两个int型数据,针对这两个数据求和,并且输出结果。(2)考虑异常的捕获和处理。publicclassCustomeradd{publicstaticvoidmain(String[]args){try{inta=Integer.parseInt(args[0]);intb=Integer.parseInt(args[1]);System.out.print(a+b);}catch(NumberFormatExceptionnfe){System.out.print(不能转换成整数,请重新输入!);}finally{}}}

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功