Сумма нечетных чисел в заданном интервале.

 
 
 
Сообщения:8
Здравствуйте! Помогите пожалуйста, у кого есть опыт работы, разобраться со Stream API.
Написал вот такую штуку:

public class Main {
    public static void main(String[] args) {
        sumOfOddNumbersInRange(21, 30);
    }

    public static long sumOfOddNumbersInRange(long start, long end) {
        long i, sum = 0;

        if (start % 2 == 0) {
            start++;
        }
        for (i = start; i <= end; i += 2) {
            sum += i;
        }
        System.out.println(sum);
        return 0;
    }
}


Данная программа выводит сумму нечетных чисел в заданном интервале. Не могу сообразить, как метод `sumOfOddNumbersInRange` написать в функциональном стиле, через Stream API.
 
 
Сообщения:284
   
public static long sumOfOddNumbersInRange(long start, long end) {
   return LongStream.range(start, end + 1).filter(item -> item % 2 != 0).sum();
}
 
 
Сообщения:8
Спасибо огроменное. Действительно круто! Всего три строчки кода и такая результативность. Всетаки Stream API это вещь! Пошел дальше курить мануалы.
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет