/* ************************************************************************* * Tramite i metodi: * * charAt(int) ; Restituisce il carattere all'indice specificato. * ; 0 = primo carattere, lenght()-1 = ultimo. * length() ; Restituisce la lunghezza della stringa. * * Possiamo rovesciare una stringa immessa da tastiera. * Dovremo partire dall'ultimo carattere della stringa e stamparlo, poi * stampare il penultimo e cosi' via, fino al primo. * Si potrebbe fare con un ciclo FOR: * * for(int i=(striga.length())-1 ; i>=0 ; i--) * System.out.print(stringa.charAt(i)); * * Il -1 serve perche' l'indice di charAt parte da zero, quindi l'ultimo * elemento sara' num_elementi-1 e non num_elementi. * Se si toglie il -1 si tenta di leggere un carattere dopo la fine della * stringa, e si genera l'eccezione StringIndexOutOfBoundsException. * Potete provare a togliere il -1 come verifica. ************************************************************************* */ import java.io.*; // Include le funzioni I/O standard di base. class Jlez3f { // Da qua inizia la classe Jlez3f public static void main(String args[]) // Definiamo il metodo Main. { // Inizio del main() System.out.println("\nInserisci la stringa da invertire:"); String stringhina = leggiStr(); // Leggo una stinga da tastiera. /* Ora stampiamo alla rovescia la stringa con un loop che stampa tutti i * caratteri, partendo dall'ultimo, all'indietro fino al primo.*/ for(int i=(stringhina.length())-1 ; i>=0 ; i--) System.out.print(stringhina.charAt(i)); System.out.print("\n"); // Andiamo a capo dopo il loop } // Fine del metodo principale Main() /* ------------------------------------------------------------------------- * Definiamo un metodo chiamato leggiStr(), che in entrata non ha * parametri, e in uscita restituisce una stringa immessa da tastiera. * String leggiInt() * ----------------------------------------------------------------------- */ public static String leggiStr() { try { DataInputStream leggilo = new DataInputStream(System.in); String stringa = leggilo.readLine(); // dichiaro e leggo stringa. return stringa; } catch (Exception e) { System.out.println("Errore: " + e + " nella lettura da tastiera"); System.exit(0); return("errore"); // Questo return serve solo perche' il metodo // abbia un int di ritorno anche in caso di errore } } // Fine di "String leggiStr()" } // Fine della classe Jlez3f