package Day05;/*** 2.定义一个分数数组:double[] arr = {88.5,96,97,74,88.2,58.5,77.9,90,99};* 计算分数数组中去掉最低分的平均分,并打印*/
public class Day05_Demo02_02 {public static void main(String[] args) {double[] arr = {88.5, 96, 97, 74, 88.2, 58.5, 77.9, 90, 99};//获取数组最小的数double least = GetLeast(arr);System.out.println("最低分数是:" + least);//传入数组,和最低分数, 返回减去最低分数的平均分double average = GetAverage(arr, least);System.out.println("平均分" + average);}/*** @param arr double 类型的数组* @return 此方法用于获取数组最小的数*/public static double GetLeast(double[] arr) {double least = arr[0];for (int i = 1; i < arr.length; i++) {least = least > arr[i] ? arr[i] : least;}return least;}/*** @param arr 数组* @param least 需要减去数组的最低分* @return 返回减去最低分的平均分*/public static double GetAverage(double[] arr, double least) {
// 遍历数组的和double sum = 0;for (int i = 0; i < arr.length; i++) {sum += arr[i];}//用数组的总数和,减去最低分数, 计算平均分double average = (sum - least) / (arr.length - 1);// ================================运算踩坑,arr.length-1 。 是先算除法,再算加减, 所以需要括号包裹
// System.out.println("----------------");
// System.out.println((sum-least) / arr.length-1);
// System.out.println((sum-least) / (arr.length-1));
// System.out.println("----------------");System.out.println("所有人总分:" + sum + " 减去最低分:" + least + "=" + (sum - least) + "÷(减去最低分的人数)" + (arr.length - 1) + " 人, 得出平均分:" + average);return average;}
}
java基础习题练习