/* *************************************************************************
* 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
