Перейти к содержимому

Как найти среднее арифметическое в массиве java

  • автор:

Среднее арифметическое

Рассмотрим реализацию алгоритма нахождения среднего арифметического элементов массива.

Сначала в цикле переберем все элементы массива и вычислим их сумму. После чего разделим сумму на длину массива:

public class Average < public static void main(String[] args) < double[] nums = ; double result = 0; for (double d : nums) < result += d; >System.out.println("Среднее арифметическое " + result / nums.length); > >
  • Числа Фибоначчи
  • Вычисление сложности алгоритма
  • Метод swap
  • Реверс массива
  • Алгоритм сортировки пузырьком
  • Сортировка выбором
  • Поиск элемента в массиве
  • Задания

Trustpilot
Комментарии

Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.

Как найти среднее арифметическое в массиве java

Найти среднее арифметическое всех чисел в массиве можно разными способами. Можно перебрать весь массив при помощи цикла, сложить все элементы массива и поделить на размер массива. Можно также использовать стримы, этот вариант будет более лаконичный. Рассмотрим пример со стримами:

import java.util.Arrays; int[] coll = 1, 2, 3, 4, 5, 6>; var average = Arrays.stream(coll) .average() .getAsDouble(); System.out.println(average); // => 3.5 

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

В нашей жизни мы далеко не всегда используем точные цифры, да это и не каждый раз удобно. Некоторые результаты обобщают, выражая среднее значение, особенно когда речь идет о статистике, прогнозах и отчетах. Это может быть и среднее время в пути, и средняя успеваемость ученика, и средняя заработная плата на предприятии, и средняя температура по больнице (в последнем примере мы, разумеется, шутим). Но как бы там не было, мы должны знать, как быстро и точно посчитать среднее арифметическое число. Об этом — наша статья. Дополнительно рассмотрим на примерах, как вычисляет среднее арифметическое число компилятор языка программирования Java.

На практике формулу о том, как найти или вычислить среднее арифметическое, изучают в пятом классе. Что же, давайте освежим знания, полученные в далеком (а для кого-то и в недалеком) детстве.

Что такое среднее арифметическое? Формула нахождения числа

Средним арифметическим некоторого множества чисел называют сумму всех этих чисел, разделенных на общее количество слагаемых. То есть искомое значение вычисляет следующая формула:

В примере ниже мы считаем среднее арифметическое трех простейших чисел:

Давайте обозначим сре днее арифметическое латинской буквой «m» и вычислим сумму вводимых чисел:

А чтобы рассчитать среднее арифмети ческое, останется разделить эту сумму на три. Таким образом, формулу нахождения можно представить следующим образом:

И все? Так просто?

И да, и нет. Если углубляться в математику, мы узнаем, что существуют различные способы вычисления, однако мы не будем усложнять вышесказанное и ограничимся стандартной формулой:

  • x — это наше среднее арифметическое;
  • xn— конкретное значение числа;
  • n — общее количество значений.

У такой формулы есть много плюсов:

  • прекрасный выбор при нормальном распределении значений в существующей выборке;
  • интуитивная доступность;
  • посчитать легко и просто.

Однако с математической точки зрения тут существуют и минусы:

  • используя эту формулу, довольно сложно представить распределение введенных значений;
  • есть вероятность запутаться в различных величинах.

Сложно ли посчитать среднее число в Java?

Теперь давайте посмотрим, как расчет среднего числа может выглядеть в программном коде. Заодно и проверим пример выше ;-):

public class Main

public static void main(String[] args)

System.out.println(«Значение среднего арифметического равно: » + result / nums.length);

Можно было легко догадаться, что мы получим 3, значит вышеописанная формула нахождения среднего арифметического числа находит правильный результат.

На деле вы можете ввести в код выше какие угодно значения чисел, а также изменить количество введенных чисел. Однако если надо вычислить более точный результат (это особенно актуально для ввода ряда чисел с десятичным значением), тип данных в Java надо будет изменить на double:

  • https://skysmart.ru/articles/mathematic/kak-najti-srednee-arifmeticheskoe;
  • https://www.examclouds.com/ru/java/java-core-russian/srednee-arifmeticheskoye.

Все это выглядит чрезвычайно просто. Если же вы ищете действительно сложные и продвинутые решения по Java-программированию, обратите внимание на программу Java-курса в Otus:

Нахождение суммы и среднего значения в массиве Java

В этом кратком руководстве мы рассмотрим, как вычислить сумму и среднее значение в массиве Java, используя стандартные циклы.

Чтобы найти сумму всех элементов в массиве, мы можем просто перебрать массив и добавить каждый элемент к суммирующей переменной.

Это очень просто:

public static int findSumWithoutUsingStream(int[] array) < int sum = 0; for (int value : array) < sum += value; >return sum; >

или вычисляем сумму используя индексы:

int array[] = ; int sum = 0; for (int i = 0; i < array.length; ++i) sum += array[i];

Можно использовать Stream API для достижения того же результата:

public static int findSumUsingStream(int[] array)

Важно знать, что метод sum() поддерживает примитивные типы.

Если мы хотим использовать целочисленные значения, сначала нужно преобразовать поток в IntStream, используя mapToInt метод. После этого применить метод sum() к нашему недавно преобразованному IntStream:

public static int findSumUsingStream(Integer[] array)

Найти среднее значение элементов массива Java довольно легко. Напомним, что среднее = сумма чисел/количество чисел.

public static double findAverageWithoutUsingStream(int[] array) < int sum = findSumWithoutUsingStream(array); return (double) sum / array.length; >

Примечание: деление int на int возвращает результат int. Джава массив имеет поле length, в котором хранится количество элементов.

Если подсчитывать через Java Stream API, то код умещается в одну строчку:

public static double findAverageUsingStream(int[] array)

IntStream.average () возвращает OptionalDouble, который может не содержать значения и требует специальной обработки.

Чтобы узнать больше об OptionalDouble class, читайте документацию по Java 8.

Исходный код можно скачать тут.

Средняя оценка 2.6 / 5. Количество голосов: 5

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

Напишите комментарий, что можно добавить к статье, какой информации не хватает.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *