我如何将double与double数组进行比较

时间:2015-07-14 00:27:06

标签: java arrays

如何将双精度数组与双精度数比较?

在这种情况下,我想查看每个飞行员飞行的里程列表,并将其与所有飞行员之间的平均行驶里程进行比较。如果他们的个人里程大于平均值,则返回一个真正的布尔值。

  

编译器说我无法将双精度数与双精度数]进行比较。

代码:

public static boolean determine(double avgMilesFlown, double[] numMilesFlown) {
    for (double a : numMilesFlown) {
        if (numMilesFlown > avgMilesFlown) {

            return true;
        }
    }
}

2 个答案:

答案 0 :(得分:3)

if (numMilesFlown > avgMilesFlown)更改为if (a > avgMilesFlown)您无法直接比较数字和数组。您需要将数组的元素与数字进行比较。您正在使用的for循环将每个成员分配给您列出的变量

如果没有比飞行更多飞行的话,你还需要在结尾处设置一个返回false

答案 1 :(得分:1)

此外,您可以执行以下操作: -

public static boolean determine(double avgMilesFlown, double[] numMilesFlown) {
   for (double a : numMilesFlown) {
       Double A = new Double(a);
       Double N = new Double(numMilesFlown);

       /*
        * Use the compareTo() in Double class for comparison
        * for doubles.
        */
       if (A.compareTo(N) > 0) 
           return true;
       }

   }
}