Java tutorial
import java.util.function.BinaryOperator; import java.util.function.Predicate; public class Main { private static int fibonacci(int n) { if (n == 0) return 0; else if (n == 1) return 1; else return fibonacci(n - 1) + fibonacci(n - 2); } private static int fibonacciOperation(Predicate<Integer> condition, BinaryOperator<Integer> operation) { int i = 0; int result = 0; int fibo = fibonacci(i); for (int temp = operation.apply(result, fibo); condition .test(temp); fibo = fibonacci(i), temp = operation.apply(result, fibo)) { System.out.println(fibo + " "); result = temp; i++; } return result; } public static void main(String[] args) { int range = 100; System.out.println("Sum of even fibonacci number less then " + range + " is " + fibonacciOperation(i -> i < range, (sum, i) -> i % 2 == 0 ? sum + i : sum)); System.out.println("Sum of odd fibonacci number less then " + range + " is " + fibonacciOperation(i -> i < range, (sum, i) -> i % 2 != 0 ? sum + i : sum)); } }