找到min但是零

时间:2012-04-29 04:39:17

标签: java arrays double min

如何在双精度数组中找到最小的正(非零)数?例如,如果数组包含0.040.00010.0,我想返回0.0001

以下功能很好,但它会以min为单位返回零,这不是我感兴趣的。

static double[] absOfSub = new double[100];
...

private static double compare(double[] ds) {
  double min = absOfSub[0];

  for (double d : ds) {
    min = Math.min(min, d);
  }
  return min;
}

如何让它忽略零?

1 个答案:

答案 0 :(得分:5)

您可以检查零:

double min = Double.MAX_VALUE;
for (double d : ds) 
{
    min = (d == 0) ? min : Math.min(min, d);
}