资源描述:
《青岛理工大学java实验二.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、青岛理工大学java实验实验2:类的封装性和继承性设计(1)有理数四则运算。编写一个Java应用程序,实现两个有理数的四则运算,要求有理数用分子和分母的形式表示。结果要求用“分子/分母”的形式表示。源代码:importjava.util.Scanner;//定义一个分数类,方便单独使用分子分母classFenShu{intfz;intfm;}publicclassB{staticint[]fenzi=newint[2];staticint[]fenmu=newint[2];//以下方法通过返回一个FenShu类型的对象,来获取分子和分母;//加法运算FenShuadd(in
2、ta,intc,intb,intd){FenShufs=newFenShu();fs.fz=a*d+b*c;fs.fm=c*d;returnfs;}//减法运算FenShudec(inta,intc,intb,intd){FenShufs=newFenShu();fs.fz=a*d-b*c;fs.fm=c*d;returnfs;}//乘法运算FenShumul(inta,intc,intb,intd){FenShufs=newFenShu();fs.fz=a*b;fs.fm=c*d;returnfs;}//除法运算FenShudiv(inta,intc,intb,intd)
3、{FenShufs=newFenShu();fs.fz=a*d;fs.fm=c*b;returnfs;}//求最大公约数intyueshu(inta,intb){intnum=1;intmin=(a>b)?b:a;for(inti=1;i<=min;i++){if(a%i==0&&b%i==0)num=i;}returnnum;}publicstaticvoidmain(String[]args){Bys=newB();//通过Scanner类来实现从键盘输入Scannerscn=newScanner(System.in);System.out.println("输入分子1
4、:");ys.fenzi[0]=scn.nextInt();System.out.println("输入分母1:");ys.fenmu[0]=scn.nextInt();System.out.println("输入分子2:");ys.fenzi[1]=scn.nextInt();System.out.println("输入分母2:");ys.fenmu[1]=scn.nextInt();intnum;//用来保存最大公约数FenShufs1=ys.add(fenzi[0],fenmu[0],fenzi[1],fenmu[1]);num=ys.yueshu(fs1.fz,fs
5、1.fm);fs1.fz=fs1.fz/num;fs1.fm=fs1.fm/num;System.out.println("加法结果为:"+fs1.fz+"/"+fs1.fm);FenShufs2=ys.dec(fenzi[0],fenmu[0],fenzi[1],fenmu[1]);num=ys.yueshu(fs2.fz,fs2.fm);fs2.fz=fs2.fz/num;fs2.fm=fs2.fm/num;System.out.println("减法结果为:"+fs2.fz+"/"+fs2.fm);FenShufs3=ys.mul(fenzi[0],fenmu[0],
6、fenzi[1],fenmu[1]);num=ys.yueshu(fs3.fz,fs3.fm);fs3.fz=fs3.fz/num;fs3.fm=fs3.fm/num;System.out.println("乘法结果为:"+fs3.fz+"/"+fs3.fm);FenShufs4=ys.div(fenzi[0],fenmu[0],fenzi[1],fenmu[1]);num=ys.yueshu(fs4.fz,fs4.fm);fs4.fz=fs4.fz/num;fs4.fm=fs4.fm/num;System.out.println("除法结果为:"+fs4.fz+"/"+f
7、s4.fm);}}(2)表演最终得分。声明一个Average接口,其中约定求平均值的方法(参数为一个数组);声明First、Second类实现Average接口,分别给出求平均值的方法实现。A.类First中的功能为全部数值相加后求平均值。B.类Second中的功能为去掉一个最高分和一个最低分,再将总分求平均值。源代码://声明一个父接口interfaceAverage{doubleavg(double[]arr);}//类First实现父接口classFirstimplementsAverage{//求和直接求平