Schnittstelle zur Zahlenverarbeitung: Filterung und Transformation
Java
Medium
interfaces
Aufgabe «Schnittstelle zur Zahlenverarbeitung: Filterung und Transformation»
Implementieren Sie die Schnittstellen NumberFilter und NumberTransformer mit jeweils einer einzigen Methode boolean filter(int number) und int transform(int number). Erstellen Sie die Klassen EvenFilter (lässt gerade Zahlen durch), OddFilter (lässt ungerade Zahlen durch), SquareTransformer (gibt das Quadrat einer Zahl zurück), IncrementTransformer (erhöht um 1). Lesen Sie in main eine Zahl n, dann n ganze Zahlen ein. Wenden Sie auf jede Zahl einen Filter und eine Transformation an: Wenn der Filter true zurückgibt, geben Sie das Ergebnis der Transformation aus, andernfalls geben Sie die Zahl selbst aus. Nutzen Sie Polymorphismus über die Schnittstellen.
Eingabeformat
Erste Zeile: eine ganze Zahl n (1 ≤ n ≤ 100). Zweite Zeile: n durch Leerzeichen getrennte ganze Zahlen, jede zwischen -1000 und 1000.
Ausgabeformat
Geben Sie n Zahlen (durch Leerzeichen getrennt) aus – das Ergebnis der Verarbeitung jeder Zahl gemäß der Regel: Wenn die Zahl gerade ist, geben Sie ihr Quadrat aus; wenn sie ungerade ist, geben Sie die um 1 erhöhte Zahl aus.
Beispiele
Beispiel 1
EINGABE
3
-2 -1 0
AUSGABE
4 0 0
Beispiel 2
EINGABE
5
1 2 3 4 5
AUSGABE
2 4 4 16 6
main.java