English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Guida di Base Java

Controllo di flusso Java

Array Java

Orientato a oggetti Java (I)

Orientato a oggetti Java (II)

Orientato a oggetti Java (III)

Gestione delle Eccezioni Java

List Java

Queue (Coda) Java

Map di Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Programma Java che utilizza la ricorsione per trovare il fattoriale di un numero

Esempi completi di Java

In questo programma, imparerai a utilizzare la funzione ricorsiva in Java per trovare e visualizzare il fattoriale di un numero.

Il fattoriale di un numero positivo n è dato da:

fattoriale di n (n!) = 1 * 2 * 3 * 4 * ... * n

Non esiste fattoriale per i numeri negativi. Il fattoriale di 0 è 1.

In questo esempio, imparerai a utilizzare la ricorsione per trovare il fattoriale di un numero. Visita questa pagina per sapere comeCalcolo del fattoriale del numero utilizzando il ciclo

Esempio: calcolo del fattoriale ricorsivo

public class Factorial {
    public static void main(String[] args) {
        int num = 6;
        long factorial = multiplyNumbers(num);
        System.out.println("" + num + "的阶乘 = " + factorial);
    }
    public static long multiplyNumbers(int num)
    {
        if (num >= 1)
            return num * multiplyNumbers(num - 1);
        else
            return 1;
    }
}

Quando si esegue il programma, l'output è:

 Fattoriale di 6 = 720

All'inizio, viene chiamata multiplyNumbers() dalla funzione main() e viene passato come parametro 6.

Poiché 6 è maggiore o uguale a 1, 6 viene moltiplicato per il risultato di multiplyNumbers(), al quale viene passato 5 (num - 1). Poiché è una chiamata da stessa funzione, è una chiamata ricorsiva.

In ogni chiamata ricorsiva, il valore del parametro num viene ridotto di 1 fino a quando num è minore di 1.

Quando il valore num è minore di 1, non ci saranno chiamate ricorsive.

Ogni chiamata ricorsiva ci restituisce:

6 * 5 * 4 * 3 * 2 * 1 * 1 (per 0) = 720

Esempi completi di Java