Java - добавление нескольких длинных проверок переполнения / потери значимости

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

person Javasaurusrex    schedule 16.12.2018    source источник
comment
Можете ли вы использовать такие методы, как _ 1_ (Java 8+)?   -  person Slaw    schedule 17.12.2018
comment
Не могу использовать Math.-something   -  person Javasaurusrex    schedule 17.12.2018