Код Java для вычисления среднего значения массива: включено несколько методов

Вот фрагмент кода Java для вычисления среднего значения массива:

public class AverageCalculator {
    public static double calculateAverage(int[] array) {
        if (array == null || array.length == 0) {
            throw new IllegalArgumentException("Array must not be empty or null.");
        }

        int sum = 0;
        for (int num : array) {
            sum += num;
        }

        return (double) sum / array.length;
    }
}

В этом коде метод calculateAverageпринимает на вход целочисленный массив и вычисляет среднее значение его элементов. Сначала он проверяет, является ли массив пустым или нулевым, и если да, то генерирует исключение IllegalArgumentException. Затем он перебирает каждый элемент массива, добавляет их к переменной sumи, наконец, делит сумму на длину массива, чтобы получить среднее значение.

Вот несколько альтернативных методов вычисления среднего значения массива:

  1. Использование цикла for:

    public static double calculateAverage(int[] array) {
    if (array == null || array.length == 0) {
        throw new IllegalArgumentException("Array must not be empty or null.");
    }
    
    int sum = 0;
    for (int i = 0; i < array.length; i++) {
        sum += array[i];
    }
    
    return (double) sum / array.length;
    }
  2. Использование потока:

    import java.util.Arrays;
    public static double calculateAverage(int[] array) {
    if (array == null || array.length == 0) {
        throw new IllegalArgumentException("Array must not be empty or null.");
    }
    
    return Arrays.stream(array).average().orElse(0);
    }
  3. Использование рекурсии:

    public static double calculateAverage(int[] array) {
    if (array == null || array.length == 0) {
        throw new IllegalArgumentException("Array must not be empty or null.");
    }
    
    return calculateSum(array, 0) / array.length;
    }
    private static int calculateSum(int[] array, int index) {
    if (index == array.length - 1) {
        return array[index];
    }
    
    return array[index] + calculateSum(array, index + 1);
    }