4

doubleの配列から最小の正(ゼロ以外)の数を見つけるにはどうすればよいですか?たとえば、配列に、、、0.04および0.0001が含まれている場合、0.0を返し0.0001ます。

以下の関数は良いですが、最小値としてゼロを返します。これは私の興味ではありません。

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

どうすればゼロを無視させることができますか?

4

1 に答える 1

7

ゼロを確認できます。

double min = Double.MAX_VALUE;
for (double d : ds) 
{
    min = (d == 0) ? min : Math.min(min, d);
}
于 2012-04-29T04:42:57.163 に答える