/** * RecursiveNumberLister * elenca i numeri da 1 a n usando un algoritmo ricorsivo. * Il numero n e' passato come argomento nella riga di comando. * Il risultato e' visualizzato a standard output. * @author A. Luchetta * @version 11-Nov-2006 */ public class RecursiveNumberLister { /** elenca ricorsivamente i numeri da 1 a n @param n il numero intero massimo da elencare @return la stringa contenente l'elenco dei numeri separati da uno spazio */ public static String recursivelyListNumbers(int n) { //gestione pre-condizioni if (n < 1) throw new IllegalArgumentException(n + " valore non ammesso"); // caso base if (n <= 1) return "1"; //passo ricorsivo return recursivelyListNumbers(n - 1) + " " + n; } /** rende la classe eseguibile per provare il metodo getRecursiveNumberList. Il numero n e' passato come argomento nella riga di comando. Il risultato e' visualizzato a standard output. */ public static void main(String[] args) { if (args.length < 1) { System.out.println("uso: $java RecursiveNumberLister string"); return; } int k = Integer.parseInt(args[0]); String list = recursivelyListNumbers(k); System.out.println(list); } }