在 Java 中找到最大的价值

  • 本文关键字:Java java find compare
  • 更新时间 :
  • 英文 :


对于如下所示的输入,是否可以使用 Float.compare 来查找数组中最大的浮点数?

Float[] v = {0.38118651972530804, 0.3580139606405057, 0.7358862700995704};
float max = -1;
for (int i = 0; i < v.length; i++)
    if (Float.compare(max,v[i]) > 0) max = v[i];

有没有更好的方法?或者可能存在一些精度错误?

我会使用集合并调用 max() 方法。参见:这里

一行怎么样:

Float max = Collections.max(Arrays.asList(v));

如果数组中的所有值都小于 -1,则可能会出现错误。最好将 max 初始化为 v[0]。

而且,您的代码会查找最小的元素。不是最大的元素。

Float[] v = {0.38118651972530804, 0.3580139606405057, 0.7358862700995704};
float max = v[0];
for (int i = 1; i < v.length; i++)
    if (Float.compare(max, v[i]) < 0) max = v[i];

这个怎么样-

float max = v[0]; // the first item in array
// Loop through all items starting the second one
for (int i = 1; i < v.length; i++)
{
     if (v[i] > max) // If current item is bigger, update max to current item
     {
      max = v[i];
     }
}

相关内容

  • 没有找到相关文章

最新更新