打印出阵列的平均值

时间:2015-02-19 16:37:44

标签: java arrays

我有一个获得数组平均值的方法。我需要输出两位小数。在我的客户端程序中,我有以下printf语句打印出平均值。我知道我的平均方法有效,因为我添加了一个简单的println(getAverage()),返回正确的结果而不会超过两位小数。

请注意,我确实有一个检查重复项的方法,因此数组将保存以下值{6,3,5,2,7,9,4}。

我认为问题在于我的printf声明。请告知,thx。

** getAverage()方法**

public double getAverage() {
  int sum = 0;
  double average;

  for (int i = 0; i < nElems; i++) {
     sum += arr[i];   
  }
  average = (sum * 1.0) / nElems;
  return average;
}

**客户计划**

 public static void main(String[] args) {
  // ** Use for initial debugging ** //

  ArrayDataPlus d1 = new ArrayDataPlus(10);   
  d1.display();
  insert(d1, 6);
  insert(d1, 3);
  insert(d1, 6);
  insert(d1, 5);
  insert(d1, 2);
  insert(d1, 7);
  insert(d1, 6);
  insert(d1, 9);
  insert(d1, 7);
  insert(d1, 2);
  insert(d1, 4);

  d1.display();

  System.out.printf("Avg = %1.2\n", d1.getAverage());

}

1 个答案:

答案 0 :(得分:2)

%1.2需要格式说明符,例如f,如%1.2f