【发布时间】:2012-02-16 05:23:28
【问题描述】:
我正在创建一种方法来取数组中所有偶数的平均值。
如何将 arraylist 对象(偶数)转换为数组,以便总结它们?
public static double percentEven(int[]a)
{
ArrayList evens = new ArrayList();
int evenSum = 0;
for (int counter = 0;counter < a.length;counter++)
{
if ((a[counter]%2) == 0 )
evens.add(a[counter]);
}
int[] evenReturned = new int[evens.size()];
evens.toArray(evenReturned);
int evensCount = 0;
for (evensCount = 0;evensCount < evens.size();evensCount++)
{
evenSum += evenReturned[evensCount];
}
return evenSum/evensCount;
}
【问题讨论】:
-
为什么要转成数组,没必要这么做?您可以按原样从 ArrayList 中完美地总结它们。
-
为什么不直接在数组上做平均呢?只需保持偶数元素的总和和计数。添加结束返回
sum / count。顺便说一句,最后一部分也是你现在忘记的。 -
另一方面,请注意,如何正确地将数组列表转换为数组?