Module: AP Ciência da Computação Seção II 2015


Problem

3/4

cordas

Problem

Um programa de edição de texto usa uma classe Sentence que manipula uma única frase. Uma frase contém letras, espaços em branco e pontuação. O primeiro caractere em uma frase é uma letra e o último caractere é um sinal de pontuação. Quaisquer duas palavras na frase são separadas por um único espaço em branco. Uma implementação parcial da classe Sentence é a seguinte.

a) Escreva o método Sentence getBlankPositions, que retorna uma ArrayList de inteiros que representam as posições em uma frase contendo espaços em branco. Se não houver espaços em branco na frase, getBlankPositions deve retornar uma lista vazia. Alguns resultados da chamada de getBlankPositions são mostrados abaixo.


Complete o método getBlankPositions abaixo.
/** @return um ArrayList de posições inteiras contendo um
* em branco nesta frase. Se não houver espaços em branco no
* frase, retorna uma lista vazia.
*/
Lista pública<Inteiro> getBlankPositions()
 
b) Escreva o método Sentence countWords, que retorna o número de palavras em uma frase. As palavras são sequências de letras ou pontuação, separadas por um único espaço em branco. Você pode presumir que cada frase contém pelo menos uma palavra.
Por exemplo:

Complete o método countWords abaixo.

/** @return o número de palavras nesta frase
* Pré-condição: A frase contém pelo menos uma palavra.
*/
public int countWords()
 
c) Escreva o método Sentence getWords, que retorna um array de palavras na frase. Uma palavra é definida como uma sequência de letras e pontuação e não contém nenhum espaço em branco. Você pode presumir que uma frase contém pelo menos uma palavra.
Alguns exemplos de chamada de getWords são mostrados abaixo.

Ao escrever o método getWords, você deve usar os métodos getBlankPositions e countWords, que foram escritos nas partes (a) e (b). Você pode assumir
que esses métodos funcionem corretamente, independentemente do que você escreveu nas partes (a) e (b).
Complete o método getWords abaixo.

/** @return a matriz de palavras nesta frase
* Pré-condição:
* - Quaisquer duas palavras na frase são separadas por um espaço em branco.
* - A frase contém pelo menos uma palavra.
* Pós-condição: String[] retornada contendo as palavras em
* esta frase.
*/
public String[] getWords()