遞歸就是:A方法調(diào)用A方法,自己調(diào)用自己
能不用就不用,只適合一下小的計算
1 @Test 2 public void test() { 3 Recursion recursion = new Recursion(); 4 recursion.a();//java.lang.StackOverflowError(棧溢出異常) 5 } 6 7 public void a() { 8 //遞歸調(diào)用 9 a(); 10 } ![]() 利用遞歸可以用簡單的程序來解決一些復(fù)雜的問題。它通常把一個大型復(fù)雜的問題層層轉(zhuǎn)化為一個與原問題相似的規(guī)模較小的問題來求解,遞歸只需要少量的程序就可以描述出解決問題過程所需要的多次重復(fù)計算,大大減少了程序的代碼量。遞歸的能力在于用有限的語句來定義對象的無限集合。
遞歸結(jié)構(gòu)的包括兩個部分:
/** * 階乘 */ @Test public void test2() { System.out.println(b(5));//120 } public int b(int a) { if(a == 1) { return 1; } return a * b(a - 1); } ![]() |
|