这里有个'e',它是一个数组数组。
e[i].val()
返回一个长值(正数或负数)。
我的目标是将所有这些值加起来并返回平均值。
问题在于总数可能溢出或下溢,从而导致计算错误。
如果总计确实在添加结束时达到Long.MAX_VALUE
或Long.MIN_VALUE
,则总计应保持在Long.MAX_VALUE
或Long.MIN_VALUE
。
那么平均值就是Long.MAX_VALUE
或Long.MIN_VALUE
/ e.length
。
只能使用基本Java,唯一可能的例外是Integer / Long.MIN / MAX_VALUE。
long total = 0;
for(int i = 0; i < e.length; ++i) {
total = e[i].val();
}
mean = total/e.length.