Problemas com String!me ajudem

[b]Olá pessoal, estou começando a trabalhar com JAVA, o professor da faculdade pediu um trabalho para mim mais eu sei começa e ler o texto a ser digitado, sei q tenho q usar o metodo split, mas o problema maior é comparar quais palavras estao repitidas imprimilas e ainda dizer quantas vezes repitiu… vo posta aki em baixo oque ele pediu.

Objetivo (cont.)
A partir de um texto lido pelo teclado, identificar a ocorrência de
palavras (tags) repetidas.
Apresentação dos resultados em dois formatos:
Ordem decrescente o número de ocorrências por palavra
encontrada:
Texto = ?Curitiba é a capital do Paraná. Em março, Curitiba é também
a capital do teatro.?
Ocorrências: Curitiba (2), capital (2), …
Palavras envolvidas por uma tag:
Texto = ?Curitiba é a capital do Paraná. Em março, Curitiba é também
a capital do teatro.?
Ocorrências: <2>Curitiba</2> <2>é</2>, …

eu peço por favor me deem uma ajudinha ainda estou no começo do curso ja entrei no site da Sun e naum consigui entender os metodos pois eu naum sei quase nada de ingles.
DES DE JÁ AGRADEÇO E OBRIGADO![/b]

Use um Map<String, Integer>. A chave é a palavra, e o valor é o número de vezes que a palavra foi repetida.

Algo semelhante a:

// Atenção: pseudo-código!
Map < String, Integer > frequencias = new TreeMap < String, Integer > ();
para cada palavra da frase {
    se a palavra for achada no map frequencias, então pegue o valor associado, incremente-o de um, e ponha o valor de volta no map
    senão, insira a palavra, e associada a ela o valor 1.
}
para cada entrada do map frequencias {
    se o valor associado for > 1, então a palavra é repetida, e pode ser impressa.
}