递归

官方解释:是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象.

递归:方法直接或者间接的调用自己本身则称为递归.

也可以简单的说递归就是方法自己调用自己.

递归实现的代码如下:

public static void main(String[] args) {
        //递归  找钥匙  递归这个数组
      String[] box={"飞机","大炮","火箭","钥匙","张三丰"};
      openBox(box,5);
 }
 //定义一个打开盒子的方法,参数分别是一个盒子和盒子的长度
 public static void openBox(String[] box,int deep){
 //如果盒子的深度大于5的时候停止递归,如果不给它这个条件的话它会一直递归下去,最终会导致占内存溢出
    if (deep>5){//如果没有这个条件,则会报栈内存异常,可以自己试一下
        return;//结束方法
    }
     for (int i = 0; i <box.length ; i++) {
         //如果盒子里面是钥匙的话就拿出来
         if(box[i].equals("钥匙")){终止条件
             System.out.println(box[i]);
         }else{//递归条件
             deep++;//没循环一次深度加1
             openBox(box,deep);//继续递归遍历
         }
     }
 }

更多推荐

用java实现简单递归