Научитесь вычислять среднее значение заданных чисел N в Java, используя три разных метода. Все методы различаются в зависимости от того, как они предоставляют входные данные программе.
1. Алгоритм расчета среднего значения
Проще говоря, чтобы вычислить среднее значение N чисел, нам нужно сложить все числа, а затем разделить их сумму на N.
В псевдокоде мы можем перечислить необходимые шаги следующим образом:
Step 1 : StartStep 2 : sum = 0, i = 0, average = 0, count = 0Step 3 : i = i + 2Step 4 : sum = sum + i, count = count + 1Step 5 : if i <= 10 then go to on step 3, else go to on step 6Step 6 : average = sum/countStep 7 : Display "average"Step 8 : Stop
2. Программа для вычисления среднего значения введенных пользователем чисел
Мы можем считывать пользовательский ввод с помощью класса Scanner.
import java.util.Scanner;public class CalculateAverage{public static void main(String[] args){System.out.println("How many numbers do you want to enter?");Scanner scanner = new Scanner(System.in);//this is number of input values user will provide in consoleint count = scanner.nextInt();double[] array = new double[count];double sum = 0;for(int i = 0; i < array.length; i++) {System.out.print("Enter input number " +(i + 1) + ": ");array[i] = scanner.nextDouble();}scanner.close();for(int i = 0; i < array.length; i++) {sum = sum + array[i];}//Get the average heredouble average = sum / count;System.out.format("The average is: %.2f", average);}}
Вывод программы:
How many numbers do you want to enter? 5Enter input number 1: 10.3Enter input number 2: 20.6Enter input number 3: 30.9Enter input number 4: 5Enter input number 5: 10The average is: 15.36
3. Программа для вычисления среднего значения чисел в массиве
Вычисление среднего значения всех чисел в массиве очень похоже на предыдущую программу. Здесь у нас есть массив, уже заполненный числами.
double[] array = new double[] {1.1, 2.2, 3.3, 4.4, 5.5};double total = 0;for(int i = 0; i < array.length; i++) {total = total + array[i];}//Get the average heredouble average = total / array.length;System.out.format("The average is: %.2f", average);
4. Программа для вычисления среднего значения чисел в ArrayList
Начиная с Java 8, Stream API значительно улучшил язык и позволил программистам писать сложную логику с помощью гораздо меньшего количества строк кода.
Чтобы вычислить среднее значение чисел в этом списке, мы можем использовать метод average() из классов IntStream или DoubleStream.
В примере ниже метод mapToDouble() возвращает DoubleStream. Используя DoubleStream.average(), мы можем легко найти среднее значение.
List<Double> list = new ArrayList<>(List.of(1.1, 2.2, 3.3, 4.4, 5.5));Double averageValue = list.stream().mapToDouble((x) -> x).average().orElse(Double.NaN);System.out.println(averageValue);