欢迎访问宙启技术站
智能推送

使用Java函数实现求平均数和中位数

发布时间:2023-06-15 00:06:01

平均数和中位数是统计学中经常用到的两个指标,它们可以对数据进行整体性的描述,帮助我们更好地了解数据的分布情况。在Java中,我们可以使用函数来实现对数据的求平均数和中位数的操作。

求平均数

平均数又称为算术平均数,是指一组数据的总和除以数据的个数。在Java中,可以通过以下函数来实现对数据的求平均数的操作:

public static double average(int[] arr) {
    int sum = 0;
    for (int i = 0; i < arr.length; i++) {
        sum += arr[i];
    }
    return sum * 1.0 / arr.length;
}

这个函数接收一个整型数组作为参数,通过for循环将数组中的每一个元素相加,最后除以数组的长度得到平均数。需要注意的是,为了得到精确的平均数,我们在最后将sum乘以1.0,将int类型转换为double类型。

接下来我们可以写一个简单的测试函数来验证上面的函数是否正确:

public static void main(String[] args) {
    int[] arr = {1, 3, 5, 7};
    System.out.println(average(arr));
}

输出结果为4.0,符合我们预期的结果。

求中位数

中位数是指一组有限数据按大小排序后中间位置的数,如果数据有偶数个,则中位数为中间两个数的平均值。在Java中,可以通过以下函数来实现对数据的求中位数的操作:

public static double median(int[] arr) {
    Arrays.sort(arr);
    int len = arr.length;
    if (len % 2 == 1) {
        return arr[len / 2];
    } else {
        return (arr[len / 2 - 1] + arr[len / 2]) / 2.0;
    }
}

这个函数接收一个整型数组作为参数,首先使用Arrays类的sort方法将数组排序,然后根据数组的长度判断是奇数还是偶数。如果数组的长度是奇数,则中位数就是数组中间的那个数,如果是偶数,则将中间两个数的平均值作为中位数。需要注意的是,在返回值的时候,我们将结果除以2.0,将int类型转换为double类型。

同样地,我们可以写一个简单的测试函数来验证上面的函数是否正确:

public static void main(String[] args) {
    int[] arr1 = {1, 3, 5, 7};
    int[] arr2 = {1, 3, 5, 7, 9};
    System.out.println(median(arr1)); //输出结果为4.0
    System.out.println(median(arr2)); //输出结果为5.0
}

这两个函数分别实现了对数据求平均数和中位数的操作,可以方便地用于统计学中对数据的分析,为我们提供比较直观的数据描述。