您好,欢迎访问三七文档
实验五类的综合应用(续)、异常处理上机时间:11月4号,星期一。1、2班11月4号下午2:30-4:05地点:科技楼4233、4班11月4号上午8:10-9:50地点:科技楼423实验目的:(1)掌握类的继承,实现构造函数的继承。(2)多态,通过相同的方法名实现不同的功能(3)掌握java的例外处理机制和方法。实验内容:1、编写求解几何图形(如三角形,矩型,圆,梯形)的周长、面积的应用程序,要求用到继承、多态、抽象类、接口、内部类等面向对象程序设计技术的来编程。abstractclassShape1{//抽象类doublePi=3.14;publicabstractdoublezhouchang();}interfaceShape2{//接口publicdoublemianji();}classyuanextendsShape1implementsShape2{//继承+实现接口publicdoublerad;publicyuan(){}publicyuan(doubler){rad=r;}publicdoublemianji(){returnPi*rad*rad;}publicdoublezhouchang(){return2*Pi*rad;}}classRecextendsShape1{//继承与内部类doublea,b;publicRec(){}publicRec(doublex,doubley){a=x;b=y;}publicdoublezhouchang(){return2*(a+b);}publicdoublemianji(){Innerclassincla=newInnerclass(a,b);returnincla.inarea();}classInnerclass{//内部类doublel,w;publicInnerclass(){}publicInnerclass(doublex,doubley){l=x;w=y;}publicdoubleinarea(){returnl*w;}}}publicclassE51{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubShape1circle=newyuan(1);//多态System.out.println(用多态调用的园周长是:+circle.zhouchang());yuancircle1=newyuan(1);System.out.println(园周长是:+circle1.zhouchang()+园面积是:+circle1.mianji());Shape1rectangle=newRec(4,5);//多态System.out.println(用多态调用的长方形的周长是:+rectangle.zhouchang());Recrectangle1=newRec(5,8);System.out.println(长方形周长是:+rectangle1.zhouchang()+长方形面积是:+rectangle1.mianji());}}2.参考书P154的程序6-3来编写一个求N!(1*2*3…*N,规定0!=1)的Java程序,N为用户从键盘输入,但当输入的N0或N32就输出计算结果溢出异常,其它值则输出N!。importjava.util.*;classMyExceptionextendsException{privateintdetail;MyException(inta){detail=a;}publicStringoutInformation(){return你输入N的值为[+detail+],计算结果溢出;}}publicclassE52{staticvoidcompute(inta)throwsMyException{longfac=1;if(a20||a0)thrownewMyException(a);for(inti=1;i=a;i++)fac=fac*i;System.out.println(a+!的值为:+fac);}publicstaticvoidmain(Stringargs[]){intn;Scannerscan=newScanner(System.in);System.out.println(请输入N的值(N21));n=scan.nextInt();try{compute(n);}catch(MyExceptione){System.out.println(Execptioncaught+e.outInformation());}}}
本文标题:实验五-参考程序
链接地址:https://www.777doc.com/doc-1781109 .html