Здесь у меня есть «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.