public double median(){
double input =0;
double answer =sum() * (input)/data.length;
return answer;
}
这是我的代码,我有中位数,但当我运行该程序时,它仍然返回为零。数组数组为:{3.0,15.0,7.0,27.0};如何查找java数组数组的中值?
public double median(){
double input =0;
double answer =sum() * (input)/data.length;
return answer;
}
这是我的代码,我有中位数,但当我运行该程序时,它仍然返回为零。数组数组为:{3.0,15.0,7.0,27.0};如何查找java数组数组的中值?
你总是乘以零(输入= 0)。所以它总是会返回零。
尝试这样:
public Double average(Double[] array){
Double sum = 0.0;
for(int index=0;index<array.length;index++){
sum+=array[index];
}
return sum/array.length;
}
在您所提供的代码,它看起来像你试图找到意味着不是位数。我在下面提供了一些代码,可以帮助您找到答案。为了找到你需要对数组进行排序的中位数,这有点复杂。
简短的答案是删除输入= 0行。假设数据是一个公共变量,并且这个和是一个函数,它总结了你的代码应该工作的公共变量。
实现应该取决于上下文,但我会推荐一个静态函数,它将一个双精度数组作为单个参数。
public class Median{
public static void main(String[] args){
double numbers[] ={1.0, 2.0, 3.0};
System.out.println(median(numbers));
}
public static double median(double[]x){
double sum = 0;
for(int i=0;i<x.length;i++){
sum += x[i];
}
return sum/x.length;
}
}
它看起来像你试图计算均值而不是中值。 – Suever
您的输入是永远为0。 – aribeiro