Interface para processamento de números: Filtragem e Transformação
Java
Medium
interfaces
Tarefa «Interface para processamento de números: Filtragem e Transformação»
Implemente as interfaces NumberFilter e NumberTransformer com os métodos únicos boolean filter(int number) e int transform(int number), respectivamente. Crie as classes EvenFilter (mantém números pares), OddFilter (mantém números ímpares), SquareTransformer (retorna o quadrado do número), IncrementTransformer (incrementa em 1). No main, leia um número n, depois n números inteiros. Aplique a cada número o filtro e a transformação: se o filtro retornar true, exiba o resultado da transformação; caso contrário, exiba o próprio número. Use polimorfismo através das interfaces.
Formato de Entrada
Primeira linha: um número inteiro n (1 ≤ n ≤ 100). Segunda linha: n números inteiros separados por espaços, cada um de -1000 a 1000.
Formato de Saída
Exiba n números (separados por espaço) — o resultado do processamento de cada número de acordo com a regra: se o número for par, exiba seu quadrado; se for ímpar, exiba o número incrementado em 1.
Exemplos
Exemplo 1
ENTRADA
3
-2 -1 0
SAÍDA
4 0 0
Exemplo 2
ENTRADA
5
1 2 3 4 5
SAÍDA
2 4 4 16 6
main.java