Manipulação de texto e palavras soltas[HELP]

Oi!

Estou tentando resolver um projeto e não sei bem por onde começar;

O projeto é o seguinte :

[quote] Introdução

Quando se escreve um texto em português deve-se ter cuidado para não repetir a mesma palavra demasiado cedo. O projeto que vos é proposto passa por desenvolver um programa Java que consiga detetar situações dessas dado um determinado texto. Como não só é mau repetir a mesma palavra, mas palavras da mesma família, o vosso programa deverá ser capaz de detetar palavras perto uma das outras que partilhem o mesmo prefixo (por exemplo, “uma reunião da máfia que reuniu os seus elementos mais perigosos”).

O programa para realizar esta pesquisa, palavra a palavra, usará dois parâmetros:

prefixo - a dimensão, em carateres, que o início de duas palavras devem partilhar para serem consideradas semelhantes.

Se o delta for 15 e o prefixo for 5, o programa detetaria as primeiras quatro ocorrências das palavras começadas por ‘metad’ (como o prefixo é 5, são somente as primeiras 5 letras de cada palavra). Só com um delta maior, seria capaz de detetar a última ocorrência (sublinhada no texto) dado encontrar-se a uma distância superior a 15 palavras.

Se o prefixo fosse apenas 3, o programa detectaria mais ocorrências (como, por exemplo, aparar e aparência).

[/quote]

O problema é :

[quote]A classe Word deverá conter os seguintes métodos:

Word(String newWord, int line, int word)- o construtor da classe que recebe uma string com a palavra, e qual o parágrafo onde está contida bem como a sua posição no parágrafo (a primeira palavra tem posição 1).
getWord()- devolve a palavra actual
getLinePosition()- devolve o índice do parágrafo.
getWordPosition()- devolve o índice da palavra.
isSamePrefix(Word other, int prefixSize)- verifica se uma outra palavra dada possui o mesmo prefixo que a palavra actual.
A classe Text deve conter os seguintes métodos:

Text(String[] text)- recebe um vector de strings que representa o texto actual
findBadWords(int delta, int prefixSize)- identifica todas as palavras do texto atual com os mesmos prefixos dentro do delta e da dimensão de prefixo dada.
defineReport(String format)- define um esquema de apresentação de resultados dado pela string format. Esta string é constituída por uma sequência de códigos que determinam como a informação é apresentada. São admíssiveis os seguintes códigos:
%w significa a palavra
%l significa o índice do paragrafo
%p significa o índice da palavra dentro do parágrafo
%c significa que se deve colocar uma vírgula
%n significa uma mudança de linha
%t significa uma tabulação
%s significa um espaço
%( significa um (
%) significa um )
Por exemplo, seja ‘metade’ a 8ª palavra do 3º parágrafo. Neste caso, o esquema de apresentação “%w%s%l” apresentaria esta ocorrência como “metade 3”; enquanto “%(%p%c%w%)” apresentaria a mesma ocorrência como “(8,metade)”.

formatWord(Word word)- utiliza o esquema de apresentação atual para devolver a formatação da palavra dada.
printReport()- devolve uma string com o relatório completo de todas as palavras encontradas, usando o esquema de formatação actual.[/quote]

Já inicializei o projeto fazendo os esqueletos:

	
public Text(String[] Text) {
	
	
	

}   
	public void findBadWords(int delta, int prefixSize) {
		
	}
	
	public boolean defineReport(String format) {
		return false;
	}
	
	public String formatWord(Word word) {
		return "";
	}
	
	public void printReport() {
		
	}
}
public class Word {

	public Word(String newWord, int line, int word) {
		
		
	}
	
	public String getWord() {
		return null;
	}
	
	public int getLinePosition() {
		return 0;
	}
	
	public int getWordPosition() {
		return 0;
	}
	
	public boolean isSamePrefix(Word other, int prefixSize) {
		return false;
	}
}

Gostaria de saber se minha idéia está correta e que me ajudassem pois não sei mesmo o que hei-de fazer.

Obrigada

Olá, por favor, edite o post e siga estas instruções http://guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor.
Há um post de ontem com a mesma dúvida, bem estranho… Com algumas dicas, dá uma olhada http://guj.com.br/java/241772-ajuda-a-fazer-uma-classe--java

Ah muito obrigada!

Respondendo, os esqueletos estão corretos.
Sugiro criar a lógica de cada método separadamente e então ir juntando.
Na classe Word, como existe o método getWord e, no construtor, é recebido um parâmetro com mesmo nome, além de outros, sugiro criar os atributos String word, int linePosition e String newWord;

Nos métodos getXXXXX, o return deverá devolver o atributo respectivo public String getWord() { return word; }
E assim por diante

Ao invés de ir programando, tente escrever algo lógico que resolva sua necessidade.
Faça isso para cada método. Se vc escreveu as assinaturas, deve imaginar o que eles fazem, mesmo não sabendo como implementar isso.

Tente começar por aí.