求平均值接口與實現該接口的類,聲明一個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;
}
}