表演最终得分。
声明一个Average接口,其中约定求平均值的方法(参数为一个数组);声明First、Second类实现Average接口,分别给出求平均值的方法实现。
A.类First中的功能为全部数值相加后求平均值。
B.类Second中的功能为去掉一个最高分和一个最低分,再将总分求平均值。
package Average;
import java.util.Scanner;
interface Averag{
double averag(double[] N);
}
class First implements Averag{
public double averag(double[] N){
double re = 0;
for(int i=0;i<N.length;i++)
re += N[i];
return re/N.length;
}
}
class Second implements Averag{
public double averag(double[] N) {
//对数据处理去掉最大最小值
double max=0;
double min=0;
double re=0;
for(int i=0;i<N.length;i++)
{
if(N[i]>max)
max=N[i];
if(min<N[i])
min = N[i];
re += N[i];
}
return (re-max-min)/(N.length-2);
}
}
public class Average{
public static void main(String args[]) {
int size;
System.out.print("输入打分人数:");
Scanner can = new Scanner(System.in);
size = can.nextInt();
double[] a = new double[size];
for(int i = 0;i<size;i++){
System.out.print("第"+ (i+1)+"个数据:");
Scanner scan = new Scanner(System.in);
a[i] = scan.nextDouble();
}
First first = new First();
Second second = new Second();
System.out.println("frist平均值:"+first.averag(a));
System.out.println("second平均值:"+second.averag(a));
}
}