遞歸是一種常見的算法,在Java中也經常用到遞歸。在本文中,我們將使用遞歸來計算1到100之間的整數的和。
public class RecursiveSum { public static void main(String[] args) { int sum = addNumbers(100); System.out.println("1到100之間的和為:" + sum); } public static int addNumbers(int num) { if (num != 0) return num + addNumbers(num - 1); else return num; } }
在上面的代碼中,我們定義了一個遞歸方法addNumbers(num),它接受一個整數作為參數,在每次遞歸的過程中,我們通過減小num的值來調用該函數,直到num的值為0時返回0。然后,我們計算sum的值,通過將當前的值與遞歸函數的返回值相加來實現。
當我們執行addNumbers(100)時,遞歸函數首先計算addNumbers(99)的值,然后將該值添加到100并返回101。然后,addNumbers(98)的值被計算和添加到之前的值中,以此類推,直到addNumbers(0)返回0。該過程將給我們最終的結果:1到100之間整數的和。
在這個例子中,遞歸函數的調用深度為100,這是因為我們處理1到100的整數。因此,在使用遞歸的時候,我們需要小心,以防止棧溢出錯誤。
上一篇php if 例子