Карта потока Java, фильтрация и усреднение только нечетных чиселJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Карта потока Java, фильтрация и усреднение только нечетных чисел

Сообщение Anonymous »

Мне нужна ваша помощь с этой задачей:
Для заданного списка целых чисел верните среднее значение всех нечетных чисел из списка или выдайте исключение NoSuchElementException. Но перед этим вычтите 1 из каждого элемента в нечетной позиции (имеющего нечетный индекс). Это мое решение:

Код: Выделить всё

return numbers.stream()
.map(i -> numbers.indexOf(i) % 2 != 0 ? i - 1 : i)
.filter(i -> i % 2 != 0)
.mapToDouble(Integer::doubleValue)
.average()
.orElseThrow(NoSuchElementException::new);
Почему я вычитаю 1 из элемента в четной позиции? Мне нужны только нечетные позиции (нечетные индексы). Это картинка

Подробнее здесь: https://stackoverflow.com/questions/720 ... dd-numbers
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»