واجهة لمعالجة الأرقام: التصفية والتحويل

Java Medium interfaces

مهمة «واجهة لمعالجة الأرقام: التصفية والتحويل»

قم بتنفيذ الواجهات <code>NumberFilter</code> و <code>NumberTransformer</code> مع طريقة واحدة <code>boolean filter(int number)</code> و <code>int transform(int number)</code> على التوالي. أنشئ الفئات <code>EvenFilter</code> (يبقي الأعداد الزوجية)، <code>OddFilter</code> (يبقي الأعداد الفردية)، <code>SquareTransformer</code> (يعيد مربع العدد)، <code>IncrementTransformer</code> (يزيد بمقدار 1). في <code>main</code>، اقرأ العدد <code>n</code>، ثم <code>n</code> من الأعداد الصحيحة. طبق على كل عدد الفلتر والتحويل: إذا أعاد الفلتر القيمة <code>true</code>، اطبع نتيجة التحويل، وإلا اطبع العدد نفسه. استخدم تعدد الأشكال من خلال الواجهات.

تنسيق الإدخال

السطر الأول: عدد صحيح n (1 ≤ n ≤ 100). السطر الثاني: n من الأعداد الصحيحة، مفصولة بمسافات، كل منها من -1000 إلى 1000.

تنسيق الإخراج

أخرج n عددًا (مفصولة بمسافة) — نتيجة معالجة كل عدد وفقًا للقاعدة: إذا كان العدد زوجيًا، أخرج مربعه؛ إذا كان فرديًا، أخرج العدد مضافًا إليه 1.

أمثلة

مثال 1

الإدخال
3 -2 -1 0
الإخراج
4 0 0

مثال 2

الإدخال
5 1 2 3 4 5
الإخراج
2 4 4 16 6
main.java