/** * RecursiveStringReverser * * classe eseguibile capace di invertire ricorsivamente una stringa. * La stringa da invertire e' passata come argomento nella riga di comando. * Il risultato dell'inversione e' visualizzato a standard output. * * @author Adriano Luchetta * @version 03-Nov-2005 * @version 20-Nov-2004 */ public class RecursiveStringReverser { public static void main(String[] args) { if (args.length < 1) { System.out.println("uso: $java RecursiveStringReverser "); return; } System.out.println(recursivelyReverseString(args[0])); } private static String recursivelyReverseString(String s) { // gestione precondizioni if (s == null) throw new IllegalArgumentException(s + " stringa non ammissibile"); // caso base if (s.length() < 2) return s; // passo ricorsivo return recursivelyReverseString(s.substring(1)) + s.charAt(0); } }