代碼為:
public class T {
public static void main(String[] args) {
//聲明三個人的成績
double[] gradesForZhangSan = new double[]{9.65, 9.40, 9.95, 9.55, 9.65, 9.80, 9.75, 9.20};
double[] gradesForLiSi = new double[]{9.15, 9.80, 9.45, 9.65, 9.90, 9.85, 9.70, 9.30};
double[] gradesForWangWu = new double[]{9.40, 9.45, 9.50, 9.30, 9.95, 9.20, 9.60, 9.85};
//利用Arrays的排序方法sort()進行升序排序
Arrays.sort(gradesForZhangSan);
Arrays.sort(gradesForLiSi);
Arrays.sort(gradesForWangWu);
//調用getResult()方法計算最終結果
System.out.print("當前學生為張三,");
getResult(gradesForZhangSan);
System.out.print("當前學生為李四,");
getResult(gradesForLiSi);
System.out.print("當前學生為王五,");
getResult(gradesForWangWu);
}
private static void getResult(double[] grades) {
int i;
double sum = 0;
double max;
double min;
double result;
System.out.println("其成績為:");
for (i = 0; i < grades.length; i++) {
System.out.print(grades[i] + " ");
sum += grades[i];
}
max = grades[grades.length - 1];
min = grades[0];
result = (sum - max - min) / 6;
System.out.println("\n其總分為:" + sum);
System.out.println("去掉壹個最高分:" + max);
System.out.println("去掉壹個最低分:" + min);
//最終結果利用BigDecimal的setScale()方法四舍五入保留兩位小數
System.out.println("最終得分:" + new BigDecimal(result).setScale(2, RoundingMode.HALF_UP));
System.out.println("");
}
}
運行結果: