View Full Version : [JAVA] Leggere ogni carattere della stringa sequenzialmente
Ho una stringa qualsiasi per esempio Fauno
Adesso mi serve un metodo che mi legga ogni carattere
Prima mi legga la F
poi c'è una determinata azione
se serve mi legge la lettera successiva la a
e così via
C'è il metodo substring ma mi sembra molto brutale e lungo vorrei qualcosa di più efficente
magix2003
22-12-2007, 13:07
Una soluzione potrebbe essere:
String s = "ciao";
for(int i = 0; i < s.length(); i++)
char lettera = s.charAt(i);
//fai quello che vuoi con la lettera
if(!condizione)
break;
^TiGeRShArK^
22-12-2007, 14:28
char[] string = "Fauno".toCharArray();
for (char c : string){
//do anything
}
Una soluzione potrebbe essere:
String s = "ciao";
for(int i = 0; i < s.length(); i++)
char lettera = s.charAt(i);
//fai quello che vuoi con la lettera
if(!condizione)
break;
Perfetto il tuo metodo è ottimo
solo che mi restituisce un char e a me servono le proprietà della stringa
Come faccio a convertire il char in stringa?
Avevo provato questo metodo ma non funge:
String k = new String (lettera);
^TiGeRShArK^
22-12-2007, 14:41
for(char c : "Fauno".toCharArray()){
String s = "" + c;
}
carter100
22-12-2007, 14:51
Come faccio a convertire il char in stringa?
Avevo provato questo metodo ma non funge:
String k = new String (lettera);
Puoi anche usare un vettore di char al posto di 1 char solo, e questo viene preso correttamente nella stringa con quella inizializzazione.
for(char c : "Fauno".toCharArray()){
String s = "" + c;
}
ma in teoria non basta questo String s = "" + c; ?
a occhio mi sembra di si.
Cioè leggo con charAt e e poi String s = "" + lettera;
Oppure il metodo tostring potrebbe funzionare?
^TiGeRShArK^
22-12-2007, 18:55
ma in teoria non basta questo String s = "" + c; ?
a occhio mi sembra di si.
Cioè leggo con charAt e e poi String s = "" + lettera;
Oppure il metodo tostring potrebbe funzionare?
:mbe:
non hai detto che volevi scorrerti carattere per carattere la stringa "Fauno" (o qualsiasi altra stringa) e usare su ogni carattere i metodi della classe String per farci qualcosa?
il codice che ho postato fa esattamente questo.
Perchè dovresti leggerti il carattere con il charAt se il mio codice ti restituisce tutti i caratteri della stringa come stringa di dimensione unitaria? :fagiano:
A meno che non si debbano fare rimozioni è sempre meglio usare il for each al posto del for normale dato che il codice risultante è + compatto e imho + leggibile.
:mbe:
non hai detto che volevi scorrerti carattere per carattere la stringa "Fauno" (o qualsiasi altra stringa) e usare su ogni carattere i metodi della classe String per farci qualcosa?
il codice che ho postato fa esattamente questo.
Perchè dovresti leggerti il carattere con il charAt se il mio codice ti restituisce tutti i caratteri della stringa come stringa di dimensione unitaria? :fagiano:
A meno che non si debbano fare rimozioni è sempre meglio usare il for each al posto del for normale dato che il codice risultante è + compatto e imho + leggibile.
scusami per la mia testardaggine hai perfettamente ragione e ti ringrazio ho risolto con il tuo codice
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.