No Image

Среднее значение массива java

СОДЕРЖАНИЕ
2 просмотров
11 марта 2020

1534 просмотра

5 ответа

94 Репутация автора

Я только недавно начал программировать на Java, и у меня возникла проблема, которая заставляет меня хотеть что-то сломать. Это начинает раздражать, и сейчас я чувствую себя довольно глупо.

Задача состоит в том, чтобы написать программу, которая запрашивает пять чисел для ввода в массив (да, нельзя использовать список), а затем вычислять среднее значение для ввода пяти чисел.

Куда я иду не так?

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

Вся помощь очень ценится, вы мне верите!

Ответы (5)

плюса

277745 Репутация автора

Вы должны заключить такую ​​вещь в метод.

Вы можете обрабатывать все числа одновременно, сохраняя их в массиве и передавая их одновременно, или вести подсчет и возвращать его по запросу.

Автор: duffymo Размещён: 10.10.2017 04:01

плюса

1 Репутация автора

Глядя на это для цикла

Вы добавляете его в массив просто отлично, но вы продолжаете устанавливать сумму к тому, что они вводят. Например, если я введу 5 3 2, в массиве будет 5 3 2, но сумма будет установлена ​​на 2. Если я только введу 5 3, она будет установлена ​​на 3.

Одним из решений было бы использовать + =, таким образом он добавляет это число к любому текущему значению (которое вы начинаете с 0). Также важно отметить, что когда вы делите два целых числа (сумма и 5), это не даст вам десятичную дробь. Это можно решить, используя 5.0 или приведение суммы к удвоению.

плюса

1 Репутация автора

Ваш код в настоящее время просто присваивает другое значение sum на каждой итерации цикла. Вам нужно изменить , sum = numbers[i]; чтобы sum += numbers[i]; (эквивалент sum = sum + numbers[i]; ). Вы также захотите изменить int sum = 0; на double sum = 0 так, чтобы ваш ответ был десятичным.

Читайте также:  Mi band сайт регистрация

Автор: lewski Размещён: 10.10.2017 04:11

плюса

94 Репутация автора

Хорошо, это работает с "+ =", люблю тебя Крис Фелпс. Что и меняется:

Чтобы в ответе был десятичный знак. Большое спасибо, ребята! Вес был снят с моей груди :).

Автор: Heeiman Размещён: 10.10.2017 04:12

плюса

1 Репутация автора

Код для вычисления среднего значения массива

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

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

Это очень просто:

или вычисляем сумму используя индексы:

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

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

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

Найти среднее значение элементов массива Java довольно легко. Напомним, что среднее = сумма чисел/количество чисел.

Примечание: деление int на int возвращает результат int. Джава массив имеет поле length, в котором хранится количество элементов.

Если подсчитывать через Java Stream API, то код умещается в одну строчку:

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

Чтобы узнать больше об OptionalDouble class, читайте документацию по Java 8.

Исходный код можно скачать тут.

Средняя оценка / 5. Количество голосов:

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

Или поделись статьей

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

Как найти среднее? Какой алгоритм, или может есть специальные функции для этого?

Читайте также:  Как побрить волосы чтобы не росли

4 ответа 4

Сам алгоритм, который работает для всех версий Java:

Это Java 8, stream API. Проверка: http://ideone.com/hSng8I

Всё ещё ищете ответ? Посмотрите другие вопросы с метками java или задайте свой вопрос.

Связанные

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.12.20.35703

Комментировать
2 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector