תשלום מיסי ארנונה (Property tax) הוא תשלום לרשויות המקומיות בעבור שטח המגורים והקרקע הנוספת. מחיר הארנונה הוא 10 ש"ח למ"ר על שטח המיועד למגורים, ו-0.5 ש"ח למ"ר על קרקע נוספת. לדוגמה, תושב שבבעלותו שטח למגורים בגודל 100 מ"ר ושטח קרקע בגודל 500 מ"ר משלם ארנונה בסכום של 100·10 + 500·0.5 = 1250. התושבים חולקו לשלוש קבוצות: תושב עיר — משלם מיסי ארנונה עבור שטח המגורים שבבעלותו ומקבל מענק בסך 250 ש"ח לתשלום הארנונה. תושב עיר ותיק — תושב עיר בן 60 ומעלה, משלם כפי שמשלם תושב עיר, ונוסף לכך זכאי להנחה בהתאם לגילו: 1% הנחה עבור כל שנת חיים לאחר גיל 60. ההנחה מחושבת לאחר הפחתת המענק מהסכום המקורי. תושב כפר — משלם ארנונה עבור שטח המגורים והקרקע שבבעלותו וזכאי להנחה של 10%. תושב כפר בן 60 ומעלה אינו זכאי להנחה התלויה בגיל. אם לאחר הפחתת ההנחה והמענק הסכום לתשלום מיסי הארנונה הוא מספר שלילי, התושב פטור מהתשלום (משלם 0 ש"ח). הוחלט לפתח תוכנה לחישוב מיסי ארנונה וגבייתם מהתושבים, ולשם כך הוגדר כך הממשק שלפניך. בסעיפים א-ב שלפניך עליך להגדיר את המחלקות לפי עקרונות של תכנות מונחה עצמים בהתאם לדרישות: את הנתונים לחישוב מס הארנונה (תשלום עבור שטח של דירה במ"ר, תשלום עבור שטח קרקע במ"ר, שיעור ההנחה, סכום המענק) הגדר פעם אחת בלבד כקבועים; את כל התכונות שאינן קבועות הגדר כפרטיות (private).
תשלום מיסי ארנונה (Property tax) הוא תשלום לרשויות המקומיות בעבור שטח המגורים והקרקע הנוספת. מחיר הארנונה הוא 10 ש"ח למ"ר על שטח המיועד למגורים, ו-0.5 ש"ח למ"ר על קרקע נוספת. לדוגמה, תושב שבבעלותו שטח למגורים בגודל 100 מ"ר ושטח קרקע בגודל 500 מ"ר משלם ארנונה בסכום של 100·10 + 500·0.5 = 1250. התושבים חולקו לשלוש קבוצות: תושב עיר — משלם מיסי ארנונה עבור שטח המגורים שבבעלותו ומקבל מענק בסך 250 ש"ח לתשלום הארנונה. תושב עיר ותיק — תושב עיר בן 60 ומעלה, משלם כפי שמשלם תושב עיר, ונוסף לכך זכאי להנחה בהתאם לגילו: 1% הנחה עבור כל שנת חיים לאחר גיל 60. ההנחה מחושבת לאחר הפחתת המענק מהסכום המקורי. תושב כפר — משלם ארנונה עבור שטח המגורים והקרקע שבבעלותו וזכאי להנחה של 10%. תושב כפר בן 60 ומעלה אינו זכאי להנחה התלויה בגיל. אם לאחר הפחתת ההנחה והמענק הסכום לתשלום מיסי הארנונה הוא מספר שלילי, התושב פטור מהתשלום (משלם 0 ש"ח). הוחלט לפתח תוכנה לחישוב מיסי ארנונה וגבייתם מהתושבים, ולשם כך הוגדר כך הממשק שלפניך. בסעיפים א-ב שלפניך עליך להגדיר את המחלקות לפי עקרונות של תכנות מונחה עצמים בהתאם לדרישות: את הנתונים לחישוב מס הארנונה (תשלום עבור שטח של דירה במ"ר, תשלום עבור שטח קרקע במ"ר, שיעור ההנחה, סכום המענק) הגדר פעם אחת בלבד כקבועים; את כל התכונות שאינן קבועות הגדר כפרטיות (private).
public interface IData
{
public String getName(); // מחזירה שם של תושב
public double getPropertyTax(); // מחזירה גובה מס ארנונה
}
הגדר מחלקה Resident (המייצגת תושב), המממשת את הממשק IData, וכתוב בה את התכונות (אין צורך לכתוב פעולת בנייה).
הגדר שלוש מחלקות לכל אחת מקבוצות התושבים: CityResident — תושב עיר, SeniorCityResident — תושב עיר ותיק, VillageResident — תושב כפר. כתוב את התכונות והפעולה getPropertyTax() שתאפשר לחשב את תשלום מס הארנונה לכל אחת משלוש הקבוצות (אין צורך לכתוב פעולת בנייה).
public double getPropertyTax()
נתון גוף פעולה המקבל מערך a של תושבים, ומדפיס עבור כל תושב עיר ותיק את שמו ואת סכום הארנונה שהוא נדרש לשלם. עבור כל אחת מכותרות הפעולה (1)-(3) שלפניך, ציין אם הפעולה תקינה או אינה תקינה. אם הפעולה אינה תקינה — נמק מדוע, תקן את הפעולה, והעתק את הפעולה המתוקנת למחברתך. (1) public static void print(Object[] a) (2) public static void print(IData[] a) (3) public static void print(Resident[] a)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.