Interface pour le traitement des nombres : Filtrage et Transformation

Java Medium interfaces

Tâche «Interface pour le traitement des nombres : Filtrage et Transformation»

Implémentez les interfaces NumberFilter et NumberTransformer avec une seule méthode boolean filter(int number) et int transform(int number) respectivement. Créez les classes EvenFilter (laisse les nombres pairs), OddFilter (laisse les nombres impairs), SquareTransformer (retourne le carré du nombre), IncrementTransformer (augmente de 1). Dans main, lisez un nombre n, puis n entiers. Appliquez à chaque nombre le filtre et la transformation : si le filtre retourne true, affichez le résultat de la transformation, sinon affichez le nombre lui-même. Utilisez le polymorphisme via les interfaces.

Format d\ entrée

Première ligne : un entier n (1 ≤ n ≤ 100). Deuxième ligne : n entiers séparés par des espaces, chacun compris entre -1000 et 1000.

Format de sortie

Affichez n nombres (séparés par des espaces) — le résultat du traitement de chaque nombre selon la règle : si le nombre est pair, affichez son carré ; s’il est impair, affichez le nombre augmenté de 1.

Exemples

Exemple 1

ENTRÉE
3 -2 -1 0
SORTIE
4 0 0

Exemple 2

ENTRÉE
5 1 2 3 4 5
SORTIE
2 4 4 16 6
main.java