遞迴(Recursion)是指在方法的定義中使用方法本身的技術。在Java中,你可以寫遞迴方法來解決一些需要重複執行某個過程的問題。遞迴通常用於解決可以被分解為相似子問題的問題,每一個子問題都可以用相同的解決方法。
在遞迴方法中,必須有一個終止條件,否則遞迴會無限地執行下去,導致堆棧溢出。終止條件確保了遞迴的終止,當滿足終止條件時,遞迴方法將不再調用自身,而是返回結果。
以下是一個用遞迴來做費波那契數
public class Demo1Application {
public static void main(String[] args) {
T t1=new T();
System.out.println("當 n=8,斐波那契數為"+t1.fibonacci(8));
}
}
class T {
//
public int fibonacci(int n){
if(n>=1){
if(n==1||n==2){
return 1;
} else {
return fibonacci(n-1)+fibonacci(n-2);
}
} else {
System.out.println("輸入n>=1的整數");
return -1;
}
}
}
Result: