non mi dilungo a sccrivere tutto il codice che ritengo sia poco importante,ma cmq si riaggancia a ciò che è scritto sopra...
public void aggiungiTesto(String testo, int posizione) {
try {
if (testo != null) {
contenuto = contenuto.substring(0, posizione) +
testo + contenuto.substring(posizione);
}
} catch (NullPointerException exc) {
System.out.println("Il contenuto è null : " +
exc.getMessage());
contenuto = "" + testo;
} catch (StringIndexOutOfBoundsException exc) {
System.out.println("L'indice " + posizione +
" è invalido : " + exc.getMessage());
contenuto = (posizione < 0 ? testo + contenuto :
contenuto + testo);
}
}
in questo esempio viene controllato se il testo è diverso da null. se non è così allora si passa all'eccezioneNullPointerException che si
verifica se il contenuto è null. perchè viene scritto conteunto = "" + testo?
poi c'è anche l'eccezione StringOutOfBoundsException che da quello che ho cpt se supera sia in positivo che in negativo la dimensione del contenuto del file và in esecuzione l'eccezione.
anche qui perchè contenuto = (posizione < 0 ? testo + contenuto :
contenuto + testo);
nella spiegazione mi dice: In particolare abbiamo fatto in modo che (sfruttando anche un operatore
ternario) se la variabile posizione è specificata con un valore negativo, allora la
variabile testo viene messa all’inizio, prima della variabile contenuto (come se fosse
stata specificata la posizione 0). Se invece viene impostata con un valore superiore
all’ultimo indice disponibile per il contenuto, allora la variabile testo viene aggiunta
alla fine del contenuto.
in che modo viene messa all'inizio? quale è il comando?

Rispondi quotando