Problem
Bir metin düzenleme programı, tek bir cümleyi işleyen bir Sentence sınıfı kullanır. Cümle harfler, boşluklar ve noktalama işaretleri içerir. Cümledeki ilk karakter bir harftir ve son karakter bir noktalama işaretidir. Cümledeki herhangi iki kelime tek bir boşlukla ayrılır. Cümle sınıfının kısmi bir uygulaması aşağıdaki gibidir.
a) Boşluk içeren bir cümledeki konumları temsil eden tamsayılardan oluşan bir ArrayList veren Cümle yöntemini getBlankPositions'ı yazın. Cümlede boşluk yoksa, getBlankPositions boş bir liste döndürmelidir. getBlankPositions'ı çağırmanın bazı sonuçları aşağıda gösterilmiştir.
Aşağıdaki getBlankPositions yöntemini tamamlayın.
/** @a içeren tamsayı konumlarından oluşan bir ArrayList döndürür
* bu cümlede boş. içinde boşluk yoksa
* cümle, boş bir liste döndürür.
*/
genel Liste<Tamsayı> getBlankPositions güçlü>()
b) Bir cümledeki kelimelerin sayısını veren Cümle sayma yöntemini yazın. Sözcükler, tek bir boşlukla ayrılan harf veya noktalama işaretleri dizileridir. Her cümlenin en az bir kelime içerdiğini varsayabilirsiniz.
Örneğin:
Yöntemi aşağıdaki kelimelerle tamamlayın.
/** @bu cümledeki kelime sayısını döndür
* Önkoşul: Cümle en az bir kelime içeriyor.
*/
public int countWords()
c) cümledeki kelimelerin bir dizisini döndüren GetWords Cümle yöntemini yazın. Kelime, bir harf ve noktalama işaretleri dizisi olarak tanımlanır ve boşluk içermez. Bir cümlenin en az bir kelime içerdiğini varsayabilirsiniz.
GetWords'ü çağırmanın bazı örnekleri aşağıda gösterilmiştir.
GetWords yöntemini yazarken, (a) ve (b) bölümlerinde yazılan getBlankPositions ve countWords yöntemlerini kullanmalısınız. Tahmin edebilirsiniz
bu yöntemlerin, (a) ve (b) bölümlerinde yazdıklarınızdan bağımsız olarak doğru şekilde çalıştığından emin olabilirsiniz.
Aşağıdaki getWords yöntemini tamamlayın.
/** @bu cümledeki kelime dizisini döndür
* Önkoşul:
* - Cümledeki herhangi iki kelime bir boşlukla ayrılır.
* - Cümle en az bir kelime içeriyor.
* Koşul: içindeki kelimeleri içeren String[] döndürüldü
* bu cümle.
*/
public String[] getWords()