用java求n个整数的平均值与中位数
时间: 2024-10-08 10:19:02 浏览: 41
在Java中,计算一组整数的平均值(均值)和中位数可以分为两个步骤:
1. **计算平均值** (Average):
- 首先,你需要创建一个数组存储这n个整数,然后将它们相加得到总和。
```java
int[] numbers = {10, 20, 30, 40, 50}; // 假设这是你的整数数组
int sum = 0;
for (int num : numbers) {
sum += num;
}
double average = (double) sum / numbers.length; // 转换为浮点数以便进行除法运算
```
2. **计算中位数** (Median):
- 对于奇数长度的数组,中位数是最中间的那个元素。你可以通过排序数组找到这个位置。
```java
Arrays.sort(numbers); // 先对数组进行排序
int medianIndex = numbers.length / 2;
double median = numbers[medianIndex];
```
- 对于偶数长度的数组,中位数是中间两个数的平均值。在这种情况下,你需要取中间两个元素并求平均。
```java
if (numbers.length % 2 == 0) {
median = (numbers[medianIndex - 1] + numbers[medianIndex]) / 2.0;
}
```
如果你需要一个函数化的解决方案,可以创建一个方法来封装这两个步骤。
```java
import java.util.Arrays;
public class Calculator {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
double average = calculateAverage(numbers);
double median = calculateMedian(numbers);
System.out.printf("平均值: %.2f, 中位数: %.2f\n", average, median);
}
public static double calculateAverage(int[] numbers) {
int sum = 0;
for (int num : numbers) {
sum += num;
}
return (double) sum / numbers.length;
}
public static double calculateMedian(int[] numbers) {
Arrays.sort(numbers);
int length = numbers.length;
if (length % 2 == 0) {
return (numbers[length / 2 - 1] + numbers[length / 2]) / 2.0;
} else {
return numbers[length / 2];
}
}
}
```
阅读全文