Java实现百分位数法
时间: 2023-09-01 19:10:34 浏览: 36
可以使用Java自带的Arrays类中的静态方法进行百分位数的计算,具体实现可以参考如下代码:
```java
import java.util.Arrays;
public class Percentile {
public static void main(String[] args) {
double[] data = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
double percentile = 90; // 百分位数
double result = calculatePercentile(data, percentile);
System.out.println(percentile + "% percentile value is: " + result);
}
public static double calculatePercentile(double[] data, double percentile) {
Arrays.sort(data); // 对数据进行排序
int n = data.length;
double rank = percentile / 100.0 * (n - 1) + 1; // 计算排名
if (rank <= 1) {
return data[0];
} else if (rank >= n) {
return data[n - 1];
} else {
int k = (int) Math.floor(rank); // 取整
double d = rank - k; // 小数部分
return data[k - 1] + d * (data[k] - data[k - 1]);
}
}
}
```
以上代码可以计算给定数据中的指定百分位数值。