Il metodo setCharAt() non esiste, per questo non te lo trova. Ho controllato la documentazione e tale metodo non esiste né nella JDK 1.4.2, né nella più recente 1.5.0.
Come procedere, quindi, per il tuo problema: ci sono essenzialmente 2 vie. Una, la più rapida, consiste nell'utilizzare il metodo replace()
Questo metodo sostituisce tutte le occorrenze del carattere oldChar con il carattere newChar.codice:public String replace(char oldChar, char newChar)
Esempio di utilizzo:
con il relativo output:codice:String miaStringa = "Questa è la stringa originale"; System.out.println(miaStringa); miaStringa = miaStringa.replace('a', 'o'); System.out.println(miaStringa);
Altro metodo è quello di utilizzare gli array di caratteri: ti costruisci l'array relativo alla stringa e, con un ciclo, vai a sostituire, carattere per carattere, le occorrenze vecchie con quelle nuove. Poi ricostruisci la stringa. Esempio:codice:Questa è la stringa originale Questo è lo stringo originole
E l'output è identico a quello precedente.codice:String miaStringa = "Questa è la stringa originale"; System.out.println(miaStringa); char [] mioArray = miaStringa.toCharArray(); for (int i=0; i<mioArray.length; i++) if (mioArray[i] == 'a') mioArray[i] = 'o'; miaStringa = new String(mioArray); System.out.println(miaStringa);
Ciao.![]()



Rispondi quotando