mindwings
25-08-2007, 15:05
Ciao a tutti:) devo implementare un piccolo analizzatore lessicale e sinceramente essendo il mio primo progettino non so bene da che parte iniziare.
L'analizzatore deve avere in input un testo organizzato per linee e deve:
1)contare caratteri e linee
2)contare il numero di parole
3)contare / individuare parole palindromi
4) ricerca di un eventuale parola chiave e magari sostituzione.
Fino ad ora procedendo senza un ordine preciso :(
ho risolto alcuni punti (anche se forse non in ottica object oriented)
per quanto riguarda il contare le linee ho trovato dei metodi parecchio utili
nella classe Scanner (hasNextLine:) ) mentre per quanto riguarda le parole palindromi ho realizzato questo:
public boolean verificaPalindrome( char[] parola ) //uso il metodo to.CharArray
{
int i = 0;
int j = parola.length -1 ;
while ((parola[i] == parola[j]) && (i<j))
{
i++;
j--;
}
if(i >= j)
return true;
else
return false;
}
Ancora non mi è chiaro quale struttura dati utilizzare per memorizzare le parole dal momento che queste potrebbero essere viste come Stringhe
ma anche array di char...:confused: . La mia idea era quella di riuscire a memorizzare le parole (eliminando gli spazi bianchi) in stringhe per poi utilizzare il metodo toCharArray e successivamente effettuare le operazioni di ricerca (parole chiave , palindromi ecc ecc).
Ringrazio anticipatamente per qualsiasi consiglio
L'analizzatore deve avere in input un testo organizzato per linee e deve:
1)contare caratteri e linee
2)contare il numero di parole
3)contare / individuare parole palindromi
4) ricerca di un eventuale parola chiave e magari sostituzione.
Fino ad ora procedendo senza un ordine preciso :(
ho risolto alcuni punti (anche se forse non in ottica object oriented)
per quanto riguarda il contare le linee ho trovato dei metodi parecchio utili
nella classe Scanner (hasNextLine:) ) mentre per quanto riguarda le parole palindromi ho realizzato questo:
public boolean verificaPalindrome( char[] parola ) //uso il metodo to.CharArray
{
int i = 0;
int j = parola.length -1 ;
while ((parola[i] == parola[j]) && (i<j))
{
i++;
j--;
}
if(i >= j)
return true;
else
return false;
}
Ancora non mi è chiaro quale struttura dati utilizzare per memorizzare le parole dal momento che queste potrebbero essere viste come Stringhe
ma anche array di char...:confused: . La mia idea era quella di riuscire a memorizzare le parole (eliminando gli spazi bianchi) in stringhe per poi utilizzare il metodo toCharArray e successivamente effettuare le operazioni di ricerca (parole chiave , palindromi ecc ecc).
Ringrazio anticipatamente per qualsiasi consiglio