Ciao,
ho un problema con StringTokenizer.
Faccio una query dal db e tiro fuori vari record; nel primo campo c'è la lettera dell'alfabeto (per esempio le lettere A B C ecc) e nel secondo campo i nomi che iniziano con quella lettera (Andrea, anna, aldo ecc), separati da una ",".
Per stamparli a video faccio un ciclo, e dentro questo ciclo ne faccio un altro con StringTokenizer, in modo da stampare a video tutti i nomi.
Quindi ottengo
A
Andrea
anna
aldo
B
barbara
beatrice
Il terzo record però ha il secondo campo vuoto (ha la lettera C nel primo campo, ma nessun nome separato da "," nel secondo campo). In questo punto succede che si blocca anche il ciclo principale.
Non viene più stampato niente a video dopo la lettera C, non passa alla lettera D, scrivendo i relativi nomi.
Se nel db metto dei nomi con la C il ciclo continua fino alla Z, altrimenti si ferma al primo record in cui non trova nomi nel campo che passo a StringTokenizer.
Qualcuno sa come risolvere questo problema?
codice:
while(rs.next())
{
out.print(rs.getString("letteraalfabeto")); // qui stampa la lettera dell'alfabeto
String nomi= rs.getString("nomi");
StringTokenizer st = new StringTokenizer(nomi, ",");
while(st.hasMoreTokens())
{
String Token = st.nextToken();
out.print( Token + "
"); // qui stampa i nomi
}
}