Problem
یک برنامه ویرایش متن از یک کلاس جمله استفاده می کند که یک جمله را دستکاری می کند. یک جمله حاوی حروف، جاهای خالی و علائم نگارشی است. اولین کاراکتر در یک جمله یک حرف و کاراکتر آخر علامت نقطه گذاری است. هر دو کلمه در جمله با یک جای خالی جدا می شوند. اجرای جزئی از کلاس جمله به شرح زیر است.
الف) Sentencemethod getBlankPositions را بنویسید، که ArrayList از اعداد صحیح را برمی گرداند که موقعیت های یک جمله حاوی جاهای خالی را نشان می دهد. اگر هیچ جای خالی در جمله وجود ندارد، getBlankPositions باید یک لیست خالی برگرداند. برخی از نتایج فراخوانی getBlankPositions در زیر نشان داده شده است.
روش کامل getBlankPositions در زیر.
ایجاد شد
/** @return ArrayList از موقعیت های عدد صحیح حاوی یک
* در این جمله خالی است. اگر هیچ جای خالی در وجود نداشته باشد
* جمله، فهرست خالی را برمیگرداند.
*/
فهرست عمومی<عدد صحیح> getBlankPositions strong>()
ب) روش جمله را countWords بنویسید که تعداد کلمات یک جمله را برمی گرداند. کلمات دنباله ای از حروف یا علائم نگارشی هستند که با یک جای خالی جدا شده اند. ممکن است فرض کنید که هر جمله حاوی حداقل یک کلمه باشد.
به عنوان مثال:
روش شمارش کلمات زیر را کامل کنید.
ایجاد شد
/** @برگرداندن تعداد کلمات این جمله
* پیش شرط: جمله حداقل یک کلمه داشته باشد.
*/
عمومی int countWords()
ج) روش جمله getWords را بنویسید که آرایه ای از کلمات را در جمله برمی گرداند. کلمه به عنوان رشته ای از حروف و علائم نگارشی تعریف می شود و حاوی هیچ جای خالی نیست. ممکن است فرض کنید که یک جمله حداقل یک کلمه دارد.
چند نمونه از فراخوانی getWords در زیر نشان داده شده است.
در روش نوشتن getWords باید از متدهای getBlankPositions و countWords استفاده کنید که در قسمت های (الف) و (ب) نوشته شده اند. ممکن است فرض کنید
که این روش ها بدون توجه به آنچه در قسمت های (الف) و (ب) نوشته اید، درست کار می کنند.
روش کامل getWords در زیر.
ایجاد شد
/** @بازگرداندن آرایه کلمات در این جمله
* پیش شرط:
* - هر دو کلمه در جمله با یک جای خالی از هم جدا می شوند.
* - جمله حاوی حداقل یک کلمه است.
* Postcondition: String[] حاوی کلمات در بازگشت
* این جمله.
*/
عمومی String[] getWords()