Java recursion in various ways

public class ExampleUnitTest { @Test public void addition_isCorrect() throws Exception { assertEquals(4, 2 + 2); // fun(3); // System.out.println(fact(5)); Hanoi (3,1,2,3); } public void fun(int n){//3 system.out.println (n); if(n<0){ return; }else{ fun(n-1); System.out.println(n); }} /** * 1*2*3*4*5.... n! * 5! = 5 * 4! 4! = 4 * 3! */ public int fact(int n){ if(n<=1){ return 1; }else{ return n*fact(n-1); }} /** * fibonacciSequence 8=7+6 7=6+5 6=5+4 * 1 1 2 3 5 8 13 21 34 55 89 144...... * return item n * / public int fibonacciSequence (int n) {if (n = = 1 | | n = = 2) {return 1; }else{ return fibonacciSequence(n-1)+fibonacciSequence(n-2); }} /** * @param n Number of plates * @param start Start column * @param middle intermediate column * @param end Result column */ public static void Hanoi (int n,int start,int middle,int end){ if(n<=1){ System.out.println(start+"----->"+end); }else{ hanoi(n-1,start,end,middle); System.out.println(start+"----->"+end); hanoi(n-1,middle,start,end); }}}Copy the code