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

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

Чтобы найти среднее значение в массиве целых чисел в Java, можно использовать стримы. Преобразуем массив чисел в IntStream и найдем среднее значение:

import java.util.Arrays; int[] numbers = 1, 2, 3, 4, 5>; double average = Arrays.stream(numbers).average().getAsDouble(); System.out.println(average); // 3.0 

Источник

Найдите сумму и среднее значение в массиве Java

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

2. Найдите сумму элементов массива​

2.1. Сумма с использованием цикла for

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

Это очень просто начинается с суммы 0 и добавляет каждый элемент в массив по мере продвижения:

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

2.2. Сумма с Java Stream API

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

 public static int findSumUsingStream(int[] array)    return Arrays.stream(array).sum();   > 

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

Если мы хотим использовать поток для упакованного целочисленного значения, мы должны сначала преобразовать поток в IntStream с помощью метода mapToInt .

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

 public static int findSumUsingStream(Integer[] array)    return Arrays.stream(array)   .mapToInt(Integer::intValue)   .sum();   > 

Вы можете прочитать намного больше о Stream API здесь .

3. Найдите среднее значение в массиве Java​

3.1. В среднем без Stream API

Как только мы узнаем, как вычислить сумму элементов массива, найти среднее значение довольно легко — так как Среднее = сумма элементов / количество элементов :

 public static double findAverageWithoutUsingStream(int[] array)    int sum = findSumWithoutUsingStream(array);   return (double) sum / array.length;   > 
  1. Деление int на другое int возвращает результат int . Чтобы получить точное среднее значение, мы сначала приводим сумму к удвоению .
  2. Массив Java имеет поле длины , в котором хранится количество элементов в массиве.

3.2. Среднее с использованием Java Stream API

 public static double findAverageUsingStream(int[] array)    return Arrays.stream(array).average().orElse(Double.NaN);   > 

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

Подробнее о Optionals читайте в этой статье, а о классеOptionalDouble — в документации по Java 8 .

4. Вывод​

В этой статье мы рассмотрели, как найти сумму/среднее значение элементов массива int .

Источник

Как найти среднее арифметическое в массиве 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, используя стандартные циклы.

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

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

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

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

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

Источник

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

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

class App  public static double average(int[] numbers)  var length = numbers.length; var sum = 0; // Находим сумму всех чисел for (double num : numbers)  sum += num; > // И делим её на количество слагаемых return sum / length; > > 
App.average(new int[] 1, 2, 3>); // 2.0 

Также можно использовать стримы. Рассмотрим вариант на стримах

import java.util.Arrays; class App  public static double average(int[] numbers)  Arrays.stream(numbers).average().getAsDouble(); > > 
App.average(new int[] 1, 2, 3>); // 2.0 

Источник

Читайте также:  Новостной блок html css
Оцените статью