Как найти среднее арифметическое 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:
public static double average(int[] numbers) {
if (numbers.length == 0) return 0;
int sum = 0;
for (int number : numbers) {
sum += number;
}
return (double) sum / numbers.length;
}
В случае коллекции чисел код не сильно будет отличаться:
import java.util.List;
public static double average(List<Integer> numbers) {
if (numbers.isEmpty()) return 0;
int sum = 0;
for (int number : numbers) {
sum += number;
}
return (double) sum / numbers.size();
}
В Jave 8+ можно использовать современные стримы:
import java.util.Arrays;
public static double average(int[] numbers) {
return Arrays.stream(numbers).average().orElse(0);
}
Помните о возможности переполнения при работе с большими числами. В таких случаях можно использовать тип long
для суммы или применять специальные алгоритмы для вычисления среднего значения.