如何用Java编写一个函数来计算一组数值的中位数?
时间: 2024-11-22 17:45:29 浏览: 19
在Java中,你可以使用Collections框架中的Arrays类来计算一组数值的中位数。以下是一个简单的示例函数,它接受一个整数数组作为输入,然后返回中位数:
```java
import java.util.Arrays;
public class MedianCalculator {
/**
* 计算并返回整数数组的中位数
* @param numbers 整数数组
* @return 数组的中位数
*/
public static double calculateMedian(int[] numbers) {
// 首先对数组进行排序
Arrays.sort(numbers);
// 检查数组长度是否为奇数还是偶数
int length = numbers.length;
if (length % 2 == 0) { // 偶数长度,取中间两个数的平均值
int middleIndex1 = length / 2 - 1;
int middleIndex2 = length / 2;
return (numbers[middleIndex1] + numbers[middleIndex2]) / 2.0;
} else { // 奇数长度,取中间的那个数
int middleIndex = length / 2;
return numbers[middleIndex];
}
}
public static void main(String[] args) {
int[] testNumbers = {4, 2, 8, 1, 5, 9};
System.out.println("Median of the array is: " + calculateMedian(testNumbers));
}
}
```
在这个函数中,我们首先对数组进行排序,然后判断数组长度是奇数还是偶数。如果是偶数,我们就找到中间两个元素,取它们的平均值;如果是奇数,则直接返回中间那个元素作为中位数。
阅读全文