package test; import java.util.List; public interface Average{ public double getAverage(List list); } package test; import java.util.List; public class First implements Average { public double getAverage(List list) { double sum = 0; for(int i=0;i<list.size();i++){ sum += list.get(i).doubleValue(); } return sum / list.size(); } } package test; import java.util.Collections; import java.util.List; public class Second implements Average { public double getAverage(List list) { Collections.sort(list); double sum = 0; for(int i=1;i<list.size()-1;i++){ sum += list.get(i).doubleValue(); } return sum / (list.size() - 2); } } package test; import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args){ List list = new ArrayList(); list.add(50d); list.add(48d); list.add(20d); list.add(51d); list.add(36d); Average first = new First(); Average second = new Second(); System.out.println(first.getAverage(list)); System.out.println(second.getAverage(list)); } } 为了测试,我只输入了5个数,录入的代码网上很多,算法给出了