代码改变世界

求平均值接口与实现该接口的类

2017-05-02 21:58  孙黛娜  阅读(3751)  评论(0编辑  收藏  举报

求平均值接口与实现该接口的类,声明一个Average接口,其中约定求平均值的方法,声明多个类实现Average接口,分别给出求平均值的方法实现,例如,在第一组数值中,算法一

全部数值相加后求平均值,算法二,去掉一个最高分和一个最低分,再将总分求平均,算法三,求加权平均分的值。

1,在主函数中声明了三个类,第一个类实现全部算法相加后求平均值。

2,第二个类实现去掉一个最高分和一个最低分之后求平均值。

3.第三个类实现求加权平均分的值。

4,程序运行后产生的结果是32.75,9.25,6.75

5,程序当中遇到的问题有,就是完不成利用数组存贮数据,以及在实例中利用数组完成构造函数。求大神指导。

public class fubb {

public static void main(String[] args) {

Average b=new add(19,20,25,67);
System.out.println(b.ave());
Average c=new addd(17,20,21,15);
System.out.println(c.ave());
Average d=new adddd(17,20,21,15);
System.out.println(d.ave());

}

}
interface Average//声明一个求平均值的接口
{
double ave();
}
class add implements Average
{
int a,b,c,d;
add(int a,int b,int c,int d)//构造函数
{
this.a=a;
this.b=b;
this.c=c;
this.d=d;
}


public double ave()
{
double sum=0.0;
sum=this.a+this.b+this.c+this.d;
return sum/4.0;
}
}
class addd implements Average
{
int a,b,c,d;
addd(int a,int b,int c,int d)//构造函数
{
this.a=a;
this.b=b;
this.c=c;
this.d=d;
}

public double ave()
{
double sum=0.0;
int max,min;
max=this.a;
min=this.a;
if(this.b>max)
max=this.b;
else
min=this.b;
if(this.c>max)
max=this.c;
else
min=this.c;
if(this.d>max)
max=this.d;
else
min=this.d;
sum=this.a+this.b+this.c+this.d-min-max;
return sum/4;


}
}
class adddd implements Average
{
int a,b,c,d;
adddd (int a,int b,int c,int d)//构造函数
{
this.a=a;
this.b=b;
this.c=c;
this.d=d;
}
public double ave()
{
double sum=0.0;
sum=this.a*0.3+this.b*0.3+this.c*0.4+this.d*0.5;
return sum/4;
}

}