- Нахождение суммы и среднего значения в массиве Java
- Как написать программу на Java для вычисления средней величины
- Как найти среднее арифметическое java
- Найдите сумму и среднее значение в массиве Java
- 2. Найдите сумму элементов массива
- 2.1. Сумма с использованием цикла for
- 2.2. Сумма с Java Stream API
- 3. Найдите среднее значение в массиве Java
- 3.1. В среднем без Stream API
- 3.2. Среднее с использованием Java Stream API
- 4. Вывод
Нахождение суммы и среднего значения в массиве 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 для вычисления средней величины
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали авторы-волонтеры.
Количество просмотров этой статьи: 15 745.
Вычисление средней величины – важно в повседневной жизни. Средняя величина или среднее арифметическое значение используется во многих математических операциях, и очень важно уметь это вычислять. Но, при работе с большими числами, гораздо проще использовать специальную программу. Здесь вы прочитаете, как самостоятельно написать программу на Java, чтобы вычислить среднюю величину.
- Попробуйте вычислить среднюю величину ряда чисел самостоятельно. Это поможет вам понять принцип действия программы.
Напишите код. Чтобы вычислить среднюю величину, вам понадобятся следующие параметры:
- Сумма всех введенных пользователем чисел
- К примеру, если сумма введенных чисел = 100, а количество чисел = 10, то средняя величина =100 / 10 = 10
- Вам потребуется получить большое количество пользовательских данных из которых вам нужно вычислить среднюю величину. Для этого попробуйте использовать цикл. В примере кода ниже используется цикл «for». Также вы можете попробовать использовать цикл «while».
- Это происходит потому, что тип данных «float» это 32 битное число одинарной точности, которое даже считает десятичные в математических вычислениях. Таким образом, при использовании переменною типа float, ответ для математического действия 5 / 2 (5 делить на 2) будет 2.5.
- Если такое же вычисление (5 / 2) будет выполняться при помощи переменной типа «int», ответ будет 2.
- Однако, переменные, в которых вы сохраняете «сумму» и «количество значений», могут иметь тип «int». Используя переменную типа «float» для «средней величины» автоматически изменит её тип с «int» на «float»; и все вычисление будет выполняться в float вместо int.
Выведите на экран результат. Когда программа вычислит среднюю величину, покажите ее пользователю. В Java для этого спользуйте функцию System.out.print или System.out.println (чтобы печатать на новой строке).
import java.util.Scanner; public class main_class public static void main(String[] args) int sum = 0, inputNum; int counter; float mean; Scanner NumScanner = new Scanner(System.in); Scanner charScanner = new Scanner(System.in); System.out.println("Enter the total number of terms whose mean you want to calculate"); counter = NumScanner.nextInt(); System.out.println("Please enter " + counter + " numbers:"); for(int x = 1; xcounter ;x++) inputNum = NumScanner.nextInt(); sum = sum + inputNum; System.out.println(); > mean = sum / counter; System.out.println("The mean of the " + counter + " numbers you entered is " + mean); > >
import java.util.Scanner; /* *Эта система ввода позволяет пользователю вводить *числа, пока не будут введены все необходимые данные. *Командная строка используется, чтобы программа распознала, *когда пользователь ввел данные. *Integer.parseInt (строка s) возвращает к числу, которое *содержит строка (т.е. Integer.parseInt("462")==462). * *Важно отметить: используя этот метод для ввода переменных, *нельзя сравнивать строки "==" or "! cm"> *строки сравниваются, основываясь на их расположении в памяти компьютера. *s.equals(строка t) показывает, если содержимое строк *одинаково. !s.equals(String t) показывает, если содержание строк *разное. */ public class main_class public static void main(String[] args) String sentinel = ""; int sum = 0; int counter = 0; double mean = 0.0; Scanner NumScanner = new Scanner(System.in); System.out.println("Enter numbers to add. Enter \"d\" when done."); System.out.print("Enter number: "); sentinel = NumScanner.next(); System.out.println(); while(!sentinel.equals("d") && !sentinel.equals("D")) sum += Integer.parseInt(sentinel); counter++; System.out.print("Enter number: "); sentinel = NumScanner.next(); System.out.println(); > mean = (sum*1.0)/counter; System.out.println(); System.out.println("The arithmetic mean is: " + mean +"."); > >
Как найти среднее арифметическое 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
Найдите сумму и среднее значение в массиве 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; >
- Деление int на другое int возвращает результат int . Чтобы получить точное среднее значение, мы сначала приводим сумму к удвоению .
- Массив 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 .