In informatica , un metodo ricorsivo chiamata è un metodo che si definisce durante il processo di calcolo. Il linguaggio di programmazione Java supporta la ricorsione come parte della sua sintassi di programmazione . Mentre potrebbe essere difficile per i principianti programmatori Java di cogliere , scrivere metodi ricorsivi consente spesso concetti matematici per essere espresse chiaramente nel programma. Per questo motivo , è importante per i programmatori Java per capire come usare la ricorsione e le sue limitazioni . Istruzioni
1
stabilire se il processo di calcolo da eseguire si presta a ricorsione o meno. E 'importante che il processo di calcolo nel metodo può essere ridotto a una chiamata ripetuta a se stesso .
Uno dei calcoli ricorsione popolari è il processo di determinare il fattoriale di un numero. Un fattoriale di un numero N è il risultato della moltiplicazione di tutti i numeri da 1 fino a N stesso . Ad esempio, utilizzando la moltiplicazione diretta :
fattoriale ( 3) = 3 * 2 * 1 = 6
Tuttavia, lo stesso risultato si ottiene quando visto in modo ricorsivo :
fattoriale ( 3 ) = 3 * fattoriale (2) = 3 * 2 * fattoriale (1) = 3 * 2 * 1 = 6
noti che ogni passaggio successivo si riferisce al processo stesso , ma in termini più semplici .
2
dichiarare il metodo Java che svolgerà il calcolo ricorsivo . Un metodo di solito ha almeno il modificatore , il tipo di ritorno , i nomi dei metodi e la lista dei parametri corrispondenti . Il nome del metodo normalmente inizia con una parola verbale minuscolo. Ad esempio , la riga seguente definisce un metodo chiamato " fatto ()" che accetta un valore di numero intero di n e restituisce il suo fattoriale :
int fact ( int n ) { }
< br > 3
Assicurarsi che nel corpo del metodo ricorsivo , il calcolo viene eseguito mediante una chiamata a se stesso . Assicurarsi che ci sia una condizione di terminazione della chiamata ricorsiva e , in caso contrario il metodo verrà eseguito a tempo indeterminato senza fermarsi. Ad esempio, la seguente riga calcola il factoria di un particolare numero n da sé successivamente chiamando per eseguire lo stesso calcolo con un valore più semplice di n - 1 .
Int fact ( int n ) {
< p > int result;
if ( n == 1) return 1;
risultato
= fact (n - 1) * n ;
return result ;
< p > Quando n - 1 è uguale a 1 , viene restituito il valore di 1 }
. Questa è la condizione di terminazione del calcolo ricorsivo .
4
Chiamare il metodo ricorsivo per testarlo. Ad esempio , la riga seguente chiama il "fatto ( ) " metodo passando un valore di 3 per stampare sulla console :
System.out.println ( "Il fattoriale di 3 è" + f.fact ( 3) ) ;
Assicurarsi che il messaggio ' il fattoriale di 3 è 6' è stampato sullo schermo
.