Java计算中位数、方差、标准差、众数
时间: 2023-08-07 17:05:55 浏览: 62
计算中位数:
```
public static double median(double[] nums) {
Arrays.sort(nums);
int n = nums.length;
if (n % 2 == 0) {
return (nums[n / 2 - 1] + nums[n / 2]) / 2.0;
} else {
return nums[n / 2];
}
}
```
计算方差和标准差:
```
public static double variance(double[] nums) {
double mean = mean(nums);
double temp = 0;
for (double num : nums) {
temp += (num - mean) * (num - mean);
}
return temp / (nums.length - 1);
}
public static double standardDeviation(double[] nums) {
return Math.sqrt(variance(nums));
}
```
计算众数:
```
public static double mode(double[] nums) {
Arrays.sort(nums);
int maxCount = 0;
double mode = Double.NaN;
int count = 1;
double current = nums[0];
for (int i = 1; i < nums.length; i++) {
if (nums[i] == current) {
count++;
} else {
if (count > maxCount) {
maxCount = count;
mode = current;
}
count = 1;
current = nums[i];
}
}
if (count > maxCount) {
mode = current;
}
return mode;
}
```
需要注意的是,这些方法都需要传入一个 double 类型的数组作为参数。