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基础习题练习