Class AnalizzatoreDiTesto

java.lang.Object
  extended by AnalizzatoreDiTesto

public class AnalizzatoreDiTesto
extends java.lang.Object


Constructor Summary
AnalizzatoreDiTesto()
          costruttore di un analizzatore di testo vuoto
 
Method Summary
 void aggiungi(java.lang.String stringa)
          aggiunge una stringa in coda al testo.
 int conta()
          conta il numero di stringhe nel testo
 AnalizzatoreDiTesto copia()
          crea una copia dell'oggetto AnalizzatoreDiTesto.
 AnalizzatoreDiTesto elimina(java.lang.String stringa)
          elimina una stringa dal testo.
 int frequenza(java.lang.String stringa)
          calcola quante volte una stringa compare nel testo
 java.lang.String frequenzaMax()
          ritorna la stringa che compare piu' volte nel testo (frequenza massima).
 java.lang.String massimo()
          restituisce l'ultima stringa del testo in ordine lessicografico.
 java.lang.String minimo()
          restituisce la prima stringa del testo in ordine lessicografico.
 AnalizzatoreDiTesto minuscolo()
          trasforma nel testo i caratteri maiuscoli in minuscoli.
 AnalizzatoreDiTesto separa()
          separa le stringhe del testo in parole.
 AnalizzatoreDiTesto soloLettere()
          cancella i caratteri non alfabetici dalle parole del testo.
 java.lang.String toString()
          trasforma in stringa il testo.
 boolean vuoto()
          verifica se il testo e' vuoto
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AnalizzatoreDiTesto

public AnalizzatoreDiTesto()
costruttore di un analizzatore di testo vuoto

Method Detail

vuoto

public boolean vuoto()
verifica se il testo e' vuoto

Returns:
true se l'analizzatore non contiene testo, false altrimenti

aggiungi

public void aggiungi(java.lang.String stringa)
aggiunge una stringa in coda al testo. Il metodo ritorna se String stringa e' uguale a null.

Parameters:
stringa - la parola da aggiungere

conta

public int conta()
conta il numero di stringhe nel testo

Returns:
il numero delle parole

separa

public AnalizzatoreDiTesto separa()
separa le stringhe del testo in parole. Crea un nuovo oggetto di classe AnalizzatoreDiTesto in cui tutte le parole sono separate Usa la classed java.util.StringTokenizer(String, " '"). Considera l'apostrofo un carattere di separazione.

Returns:
un analizzatore di testo in cui tutte le parole sono separate

elimina

public AnalizzatoreDiTesto elimina(java.lang.String stringa)
elimina una stringa dal testo. Se la stringa compare piu' volte vengono eliminate tutte le occorrenze. Il metodo lancia IllegalArgumentException se String parola vale null. Il metodo procede in due passi. Prima scandisce le stringhe del testo e sostituisce il riferimento della stringhe da cancellare con null. Successivamente costruisce un nuovo testo che contiene solo le stringhe il cui riferimento non sia null. Attenzione: si devono scandire tutte le stringhe del testo perche' la parola da cancellare puo' comparire piu' volte nel testo.

Parameters:
stringa - stringa da eliminare
Returns:
un analizzatore di testo privo della stringa da cancellare
Throws:
java.lang.IllegalArgumentException

frequenza

public int frequenza(java.lang.String stringa)
calcola quante volte una stringa compare nel testo

Parameters:
stringa - la stringa di cui calcola l'occorrenza
Returns:
quante volte stringa compare nel testo
Throws:
java.lang.IllegalArgumentException

frequenzaMax

public java.lang.String frequenzaMax()
ritorna la stringa che compare piu' volte nel testo (frequenza massima). Se piu' stringhe hanno frequenza massima, ne ritorna una qualsiasi. Se il testo è vuoto ritorna null.

Returns:
una delle stringhe con frequenza massima

minimo

public java.lang.String minimo()
restituisce la prima stringa del testo in ordine lessicografico. Se il testo è vuoto ritorna null.

Returns:
prima stringa in ordine lessicografico

massimo

public java.lang.String massimo()
restituisce l'ultima stringa del testo in ordine lessicografico. Se il testo è vuoto ritorne null.

Returns:
ultima parola in ordine lessicografico

toString

public java.lang.String toString()
trasforma in stringa il testo. Viene inserito un carattere di nuova riga (\n) fra le stringhe. Se il testo è vuoto ritorna la stringa vuota "".

Overrides:
toString in class java.lang.Object
Returns:
stringa contenente il testo

soloLettere

public AnalizzatoreDiTesto soloLettere()
cancella i caratteri non alfabetici dalle parole del testo. Ad esempo elimina la punteggiatura, i numeri, le parentesi. Usa il metodo java.lang.Character.isLetter(char c)

Returns:
un analizzatore di testo dove il testo e' privo di punteggiatura

minuscolo

public AnalizzatoreDiTesto minuscolo()
trasforma nel testo i caratteri maiuscoli in minuscoli.

Returns:
un analizzatore di testo con caratteri minuscoli al posto di maiuscoli

copia

public AnalizzatoreDiTesto copia()
crea una copia dell'oggetto AnalizzatoreDiTesto.

Returns:
riferimento alla copia