【问题标题】:How to find the median for an array of numbers for java? [closed]如何找到java数字数组的中位数? [关闭]
【发布时间】:2016-02-28 22:49:35
【问题描述】:
public double median(){
double input =0;
double answer =sum() * (input) / data.length;
    return answer;
    }

这是我的中位数代码,但在我运行程序时它一直返回为零。数字数组为:{3.0, 15.0, 7.0, 27.0};

【问题讨论】:

  • 看起来您正在尝试计算平均值而不是中位数。
  • 你的输入总是0。

标签: java arrays median


【解决方案1】:

在您提供的代码中,您似乎试图找到 mean 而不是 median。我在下面提供了一些代码,应该有助于找到平均值。要找到中位数,您需要对数组进行排序,这有点复杂。

简短的回答是删除 input=0 行。假设 data 是一个公共变量,而 sum 是一个函数,它对你的代码应该工作的公共变量求和。

实现应该取决于上下文,但我建议使用一个静态函数,它接受一个双精度数组作为单个参数。

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;
   }
}

【讨论】:

    【解决方案2】:

    你总是乘以零(输入 = 0)。所以它总是返回零。

    【讨论】:

      【解决方案3】:

      试试这样的:

      public Double average(Double[] array){
          Double sum = 0.0;
          for(int index=0;index<array.length;index++){
              sum+=array[index];
          }
          return sum/array.length;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-25
        • 2015-06-25
        • 1970-01-01
        • 1970-01-01
        • 2011-05-08
        • 1970-01-01
        • 2021-08-16
        • 1970-01-01
        相关资源
        最近更新 更多