Сумма массива java метод

Найдите сумму и среднее значение в массиве 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

Получить сумму массива в Java

  1. Найдите сумму массива с помощью цикла for в Java
  2. Найдите сумму массива с помощью метода Stream в Java
  3. Найдите сумму массива с помощью метода reduce в Java
  4. Найдите сумму массива с помощью метода sum в Java
  5. Найдите сумму массива с помощью интерфейса IntStream в Java
  6. Найдите сумму массива с помощью компактного цикла for в Java

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

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

Выполнение этой операции очень часто при программировании. К сожалению, Java не предоставляет какого-либо специального метода для получения суммы массива. Итак, воспользуемся некоторыми хитростями, чтобы решить эту проблему!

Найдите сумму массива с помощью цикла for в Java

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

public class SimpleTesting  public static void main(String[] args)   int arr[] = new int[] 12,34,45,21,33,4>;  int sum = 0;  for (int i = 0; i  arr.length; i++)   sum+=arr[i];  >  System.out.println("Array Sum = "+sum);   > > 

Найдите сумму массива с помощью метода Stream в Java

В этом примере мы использовали метод stream() класса Arrays и метод parallel() для получения суммы элементов массива. Мы передали лямбда-выражение методу reduce() , который фактически выполняет операцию суммирования. См. Пример ниже:

import java.util.Arrays; public class SimpleTesting  public static void main(String[] args)   int arr[] = new int[] 12,34,45,21,33,4>;  int sum = Arrays.stream(arr).parallel().reduce(0,(a,b)-> a + b);  System.out.println("Array Sum = "+sum);   > > 

Найдите сумму массива с помощью метода reduce в Java

В этом примере мы использовали метод reduced() непосредственно с потоком массивов и получили сумму элементов. Вот как это сделать:

import java.util.Arrays; public class SimpleTesting  public static void main(String[] args)   int arr[] = new int[] 12,34,45,21,33,4>;  int sum = Arrays.stream(arr).reduce(0,(a,b)-> a + b);  System.out.println("Array Sum = "+sum);   > > 

Найдите сумму массива с помощью метода sum в Java

Java предоставляет метод sum() в API Stream для получения суммы последовательностей потоков. Здесь мы передали массив в поток и получили его сумму с помощью метода sum() . См. Пример ниже:

import java.util.Arrays; public class SimpleTesting  public static void main(String[] args)   int arr[] = new int[] 12,34,45,21,33,4>;  int sum = Arrays.stream(arr).sum();  System.out.println("Array Sum = "+sum);  > > 

Найдите сумму массива с помощью интерфейса IntStream в Java

Этот метод является еще одним решением, в котором вы можете использовать интерфейс Intsream для создания потока элементов массива и использовать метод sum() для получения суммы в виде простого однострочного решения. Следуйте примеру кода здесь:

import java.util.stream.IntStream; public class SimpleTesting  public static void main(String[] args)   int arr[] = new int[] 12,34,45,21,33,4>;  int sum = IntStream.of(arr).sum();  System.out.println("Array Sum = "+sum);  > > 

Найдите сумму массива с помощью компактного цикла for в Java

В этом примере мы использовали цикл for для получения суммы элементов массива с дополнительным уникальным процессом. Здесь вместо того, чтобы создавать тело цикла, мы просто связываемся с частью сигнатуры цикла. Мы можем назвать это компактным петлевым решением. Вы можете попробовать, если не боитесь запутанного блока кода.

public class SimpleTesting  public static void main(String[] args)   int arr[] = new int[] 12,34,45,21,33,4>;  int sum,i;  for(sum= 0, i= arr.length - 1; 0  i; sum+= arr[i--]);  System.out.println("Array Sum = "+sum);  > > 

Сопутствующая статья — Java Array

Источник

Как создать метод нахождения суммы элементов массива в Java и вызывать его к различным массивам?

В задаче на подсчитывание времени обслуживания очереди из произвольного клиентов у N касс очередь задается массивом целых чисел int[] customers, где каждый его элемент customers[i] — это время обслуживания i-го клиента.

В процессе решения нужно было просуммировать элементы массива в случае, когда у нас N=1:

. > else if (n == 1) < for (int i = 0; i < customers.length; i++ ) < sum += customers[i]; >> . return sum;

Однако в ходе решения потребовалось находить суммы элементов еще у двух массивов — nCustomers и restOfCustomers.
Я создаю метод, который позволяет суммировать элементы произвольного массива:

public int sumOfArray(int ary[]) < int s = 0; for (int i = 0; i < ary.length; i++) < s += ary[i]; >return s; >

Как мне теперь синтаксически правильно вызывать его ко всем трем массивам в коде — customers, nCustomers и restOfCustomers?

Простой 1 комментарий

так если массивы одинакового типа, то какая разница какой подставлять. А если тип разный, можно этот метод сделать дженериком.

int sumOfAll = sumOfArray(arr1) + sumOfArray(arr2) + sumOfArray(arr3)
public int sumOfArray(int[]. ary) < /// your code >
int sumOfAll = IntStream.of(arr1).sum() + IntStream.of(arr2).sum() + IntStream.of(arr3).sum();

Нет, суммировать три массива не нужно.

1) «Если элемент один, то зачем цикл?» — Когда работает одна касса — N=1 — тогда время, необходимое на обслуживание очереди, задаваемой, например, массивом [2, 3, 1, 5, 7] — это просто сумма элементов массива: 2+3+1+5+7=18.

2) В ходе решения задачи, когда число людей в очереди не превышает число работающих касс, я просто нахожу максимальный элемент массива customers:

> else if (customers.length customerMax) < customerMax = customers[i]; >> return customerMax; >

3) В случае, когда число людей в очереди больше, чем число работающих касс (customers.length > n && n > 1), мне нужно запустить счетчик и уменьшать на единицу все элементы массива nCustomers (это подошедшие к n касс n покупателей из очереди), при этом, как только какой-то из его элементов обнуляется, в следующей итерации я на его место ставлю первый элемент из массива остатка очереди restOfCustomers[0], а сам массив restOfCustomers сокращаю на этот элемент. И все это происходит пока сумма элементов в nCustomers не станет нулевой, а массив restOfCustomers не станет пустым — нулевой длины.

Источник

How to find sum of array elements in java

Sum of array elements means the sum of all the elements(or digits) in the array. Array elements can be integers( int ) or decimal numbers( float or double ).
There are different methods to calculate sum of elements in an array in java and this post discusses them all.

Method 1 : Using for loop
This is a traditional and most commonly used approach where the array is iterated using a for loop.
In each iteration, the current array element is added to a variable which holds the sum of array elements.
This variable is initialized to 0 before the start of loop. Example,

public class ArraySumCalculator { public static void main(String[] args) { int[] array = { 1, 34, 67, 23, -2, 18 }; // variable to hold sum of array elements int sum = 0; // iterate using a for loop for (int loopCounter = 0; loopCounter &lt; array.length; loopCounter++) { // get current array element int element = array[loopCounter]; // add element to sum sum += element; } System.out.println("Sum of array elements is: " + sum); } }

public class ArraySumCalculator < public static void main(String[] args) < int[] array = < 1, 34, 67, 23, -2, 18 >; // variable to hold sum of array elements int sum = 0; // iterate using a for loop for (int loopCounter = 0; loopCounter < array.length; loopCounter++) < // get current array element int element = array[loopCounter]; // add element to sum sum += element; >System.out.println(«Sum of array elements is: » + sum); > >

Sum of array elements is: 141

for loop in this program can also be replaced with a for-each loop as shown below.

Источник

Читайте также:  Reshape python без numpy
Оцените статью