java语言7-3 求n个整数的平均值与中位数分数
时间: 2024-09-22 21:06:54 浏览: 66
在Java语言中,求n个整数的平均值(均值)和中位数通常涉及到两个步骤:
1. **计算平均值**(均值):首先,将所有整数相加得到总和,然后除以整数的数量n。可以使用`double`类型来存储结果以防精度丢失,因为整数除法可能会丢弃小数部分。
```java
double[] numbers = {...}; // n个整数数组
double sum = 0;
for (int number : numbers) {
sum += number;
}
double average = sum / numbers.length;
```
2. **计算中位数**(中位数):对于奇数个数的整数,中位数是中间的那个数字;对于偶数个数,中位数则是中间两个数的平均值。可以先对数组排序,然后根据n的奇偶性确定位置。
```java
Arrays.sort(numbers);
if (numbers.length % 2 == 0) {
double median = (numbers[numbers.length / 2 - 1] + numbers[numbers.length / 2]) / 2.0;
} else {
double median = numbers[numbers.length / 2];
}
```
如果你需要一个完整的函数来完成这个任务,你可以创建一个如下的方法:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] numbers = {5, 2, 9, 1, 7};
double average = calculateAverage(numbers);
double median = calculateMedian(numbers);
System.out.println("Average: " + average);
System.out.println("Median: " + median);
}
public static double calculateAverage(int[] numbers) {
double sum = Arrays.stream(numbers).sum();
return 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];
}
}
}
```
阅读全文