Il metodo per ricevere la lunghezza di una stringa e' length() e lo stesso vale per StringBuffer.
Per dubbi di questo tipo, gli ambienti di sviluppo di solito hanno qualche funzione per mostrarti tutti i metodi definiti per una classe.
Si', gli StringBuffer possono essere modificati, le String invece no. Comunque e' un dettaglio...Ma StringBuffer non contiene metodi per alterare le stringhe?
Il problema e' che hai invocato il metodo sull'oggetto sbagliato:Per quanto riguarda il metodo substring: è vero, hai ragione ho sbagliato. L'intenzione era quella di memorizzare il risultato dell'applicazione del metodo in una variabile (per conservarne il risultato) ma ho sbagliato per l'appunto ... Se avessi voluto conservarne il valore, come avrei dovuto fare?
significa, prendi il primo carattere di primaL (primaL.substring(0,1)) e memorizzalo in primaL, che non e' cio' che vuoi fare.codice:primaL = primaL.substring(0,1);
Tu hai bisogno di memorizzare in primaL (e fin qui ci siamo) il primo carattere di nome, quindi:
o piu' semplicemente:codice:primaL = nome.substring(0,1);
codice:primaL = primaL.charAt(0);Se nome="Salvatore" e voglio ottenere "alvator", mi verrebbe spontaneo di cancellare il primo ed il nono carattere. Sembra giusto, no?"Quando cancelli il secondo carattere, hai calcolato che la stringa ora e' piu' corta di un carattere?" .... ah. O.O No. Non ci avevo pensato... Quindi non fa più riferimento al... valore iniziale? Cancella direttamente, questo metodo?
Quando vado a eseguire queste due operazioni in sequenza pero' succede questo.
1) Cancello il primo carattere da "Salvatore" -> ottengo "alvatore"
2) Cancello il nono carattere da "alvatore" -> sono solo otto caratteri!!!
Restante il fatto che non hai bisogno di complicarti in questo modo la vita (vedi la semplice riga postata da Leleft dopo la mia prima risposta che risolve il problema), una semplice soluzione sarebbe cominciare dalla fine: cancella prima il nono carattere, poi il primo.
Miii, come sono verboso certe volte...
Ciao.![]()

Rispondi quotando
)

