Interfaz para procesar números: Filtrado y Transformación
Java
Medium
interfaces
Tarea «Interfaz para procesar números: Filtrado y Transformación»
Implemente las interfaces NumberFilter y NumberTransformer con un único método boolean filter(int number) y int transform(int number) respectivamente. Cree las clases EvenFilter (deja números pares), OddFilter (deja números impares), SquareTransformer (devuelve el cuadrado del número), IncrementTransformer (incrementa en 1). En main lea un número n, luego n números enteros. Aplique a cada número el filtro y la transformación: si el filtro devuelve true, muestre el resultado de la transformación, de lo contrario muestre el número mismo. Use polimorfismo a través de las interfaces.
Formato de entrada
Primera línea: un número entero n (1 ≤ n ≤ 100). Segunda línea: n números enteros separados por espacios, cada uno de -1000 a 1000.
Formato de salida
Muestre n números (separados por espacios) — el resultado del procesamiento de cada número según la regla: si el número es par, muestre su cuadrado; si es impar, muestre el número incrementado en 1.
Ejemplos
Ejemplo 1
ENTRADA
3
-2 -1 0
SALIDA
4 0 0
Ejemplo 2
ENTRADA
5
1 2 3 4 5
SALIDA
2 4 4 16 6
main.java