Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как найти сумму и среднее значение массива

Короткий ответ

Arrays.stream(array).sum() складывает все элементы:

void main() {
    int[] numbers = {4, 8, 15, 16, 23, 42};
    IO.println(Arrays.stream(numbers).sum());
}

Результат:

108

Среднее

average() возвращает OptionalDouble — у пустого массива среднего нет:

void main() {
    int[] numbers = {4, 8, 15, 16, 23, 42};
    double average = Arrays.stream(numbers).average().orElse(0);
 
    IO.println(average);
}

Результат:

18.0

Циклом

То же самое через цикл for-each:

void main() {
    double[] prices = {9.99, 5.01, 15.0};
    double total = 0;
    for (double price : prices) {
        total += price;
    }
    IO.println(total);
}

Результат:

30.0

Частая ошибка

Сумма большого количества int может не поместиться в int. Считайте в long:

void main() {
    int[] big = {2_000_000_000, 2_000_000_000};
 
    IO.println(Arrays.stream(big).sum());
    IO.println(Arrays.stream(big).asLongStream().sum());
}

Результат:

-294967296
4000000000

Функции из этого ответа

  • Arrays.stream() — Создаёт поток (stream) из массива — для сумм, фильтров и преобразований.
  • IntStream.sum() — Складывает все числа потока.
  • IntStream.average() — Вычисляет среднее арифметическое чисел потока.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.