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