שאלה 3יסודות2021 קיץ מועד אתכנות מונחה עצמיםסה״כ 20 נק׳
מחרוזת מיוחדת - זיהוי וכיווץ תווים
"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה).
✎ דוגמאות למחרוזת מיוחדת"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה).
"ccabbb", "aaaa", "a", "*&$", "**1zz".
✎ דוגמאות למחרוזות שאינן מחרוזת מיוחדת"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה).
"aba", "aabcb", "**33%3".
נתונה המחלקה MyString:
java
1publicclassMyString{2privateString str;3}
לפניך ממשק המחלקה MyString.
יש להשתמש בפעולות הממשק ללא צורך לממש אותן.
מפרט המחלקה
פעולה הבונה מחרוזת ריקה.
Javapublic MyString ()
פעולה המחזירה את מספר המופעים של התו ch במחרוזת str.
Javapublic int countChar (char ch)
פעולה המקבלת תו ch ומוחקת מן המחרוזת str את כל המופעים שלו.
Javapublic void removeChar (char ch)
פעולה המוסיפה לסוף המחרוזת str את התו ch.
Javapublic void appendChar (char ch)
פעולה המחזירה את התו הראשון במחרוזת str.
Javapublic char firstChar ()
פעולה המחזירה true אם המחרוזת str ריקה, אחרת היא מחזירה false.
Javapublic boolean isEmpty ()
משימות
אמשימה א
מימושניקוד לא ידוע
לפניך כותרת של הפעולה החיצונית special:
public static MyString special (MyString ms)
הפעולה special מחזירה עצם חדש מטיפוס MyString שהתכונה שלו, str, היא מחרוזת מיוחדת"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה). המורכבת מכל התווים שבתכונה str של העצם ms.
ממש את הפעולה special באמצעות פעולות ממשק המחלקה MyString בלבד. אין להוסיף פעולות, גם לא פעולות get ו-set למחלקה MyString.
✎ לדוגמה
בעבור העצם ms שלפניך, שבו מחרוזת רגילה:
ms -> MyString { str = "babca" }
הפעולה special תחזיר עצם חדש, שבו מחרוזת מיוחדת"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה).:
MyString { str = "bbaac" }
הערות
אין צורך לשמור על המחרוזת str בעצם ms.
אין חשיבות לסדר התווים בעצם החדש, כל עוד נשמרת ההגדרה של מחרוזת מיוחדת"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה)..
שפת התכנות שלי
שאלה 3יסודות2021 קיץ מועד אתכנות מונחה עצמיםסה״כ 20 נק׳
מחרוזת מיוחדת - זיהוי וכיווץ תווים
"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה).
✎ דוגמאות למחרוזת מיוחדת"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה).
"ccabbb", "aaaa", "a", "*&$", "**1zz".
✎ דוגמאות למחרוזות שאינן מחרוזת מיוחדת"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה).
"aba", "aabcb", "**33%3".
נתונה המחלקה MyString:
java
1publicclassMyString{2privateString str;3}
לפניך ממשק המחלקה MyString.
יש להשתמש בפעולות הממשק ללא צורך לממש אותן.
מפרט המחלקה
פעולה הבונה מחרוזת ריקה.
Javapublic MyString ()
פעולה המחזירה את מספר המופעים של התו ch במחרוזת str.
Javapublic int countChar (char ch)
פעולה המקבלת תו ch ומוחקת מן המחרוזת str את כל המופעים שלו.
Javapublic void removeChar (char ch)
פעולה המוסיפה לסוף המחרוזת str את התו ch.
Javapublic void appendChar (char ch)
פעולה המחזירה את התו הראשון במחרוזת str.
Javapublic char firstChar ()
פעולה המחזירה true אם המחרוזת str ריקה, אחרת היא מחזירה false.
Javapublic boolean isEmpty ()
משימות
אמשימה א
מימושניקוד לא ידוע
לפניך כותרת של הפעולה החיצונית special:
public static MyString special (MyString ms)
הפעולה special מחזירה עצם חדש מטיפוס MyString שהתכונה שלו, str, היא מחרוזת מיוחדת"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה). המורכבת מכל התווים שבתכונה str של העצם ms.
ממש את הפעולה special באמצעות פעולות ממשק המחלקה MyString בלבד. אין להוסיף פעולות, גם לא פעולות get ו-set למחלקה MyString.
✎ לדוגמה
בעבור העצם ms שלפניך, שבו מחרוזת רגילה:
ms -> MyString { str = "babca" }
הפעולה special תחזיר עצם חדש, שבו מחרוזת מיוחדת"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה).:
MyString { str = "bbaac" }
הערות
אין צורך לשמור על המחרוזת str בעצם ms.
אין חשיבות לסדר התווים בעצם החדש, כל עוד נשמרת ההגדרה של מחרוזת מיוחדת"מחרוזת מיוחדת" היא מחרוזת שבה התווים הזהים מופיעים ברצף או מחרוזת ללא תווים זהים (כולל מחרוזת ריקה)..