Интерфейс для обработки чисел: Фильтрация и Преобразование

Java Средний interfaces

Задача «Интерфейс для обработки чисел: Фильтрация и Преобразование»

Реализуйте интерфейсы NumberFilter и NumberTransformer с единственным методом boolean filter(int number) и int transform(int number) соответственно. Создайте классы EvenFilter (оставляет четные числа), OddFilter (оставляет нечетные), SquareTransformer (возвращает квадрат числа), IncrementTransformer (увеличивает на 1). В main считайте число n, затем n целых чисел. Примените к каждому числу фильтр и преобразование: если фильтр возвращает true, выведите результат преобразования, иначе выведите само число. Используйте полиморфизм через интерфейсы.

Формат ввода

Первая строка: целое число n (1 ≤ n ≤ 100). Вторая строка: n целых чисел, разделенных пробелами, каждое от -1000 до 1000.

Формат вывода

Выведите n чисел (через пробел) — результат обработки каждого числа согласно правилу: если число четное, вывести его квадрат; если нечетное, вывести число, увеличенное на 1.

Примеры

Пример 1

ВВОД
3 -2 -1 0
ВЫВОД
4 0 0

Пример 2

ВВОД
5 1 2 3 4 5
ВЫВОД
2 4 4 16 6
main.java