如何将双精度数组与双精度数比较?
在这种情况下,我想查看每个飞行员飞行的里程列表,并将其与所有飞行员之间的平均行驶里程进行比较。如果他们的个人里程大于平均值,则返回一个真正的布尔值。
编译器说我无法将双精度数与双精度数]进行比较。
代码:
public static boolean determine(double avgMilesFlown, double[] numMilesFlown) {
for (double a : numMilesFlown) {
if (numMilesFlown > avgMilesFlown) {
return true;
}
}
}
答案 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;
}
}
}