//返回指定的递归问题值(递归)private int feboUseRecursion(int num){ //1、终止条件,递归问题num = 1或2时,递归问题返回值为1; if (num == 1){ return 1; }else if(num == 2){ return 1; } else{ //return value(num - 1) + value(num-2);前num-1个数的递归问题和+当前的值=前num-1个数的和 +(sum()) int i = feboUseRecursion(num -1) + feboUseRecursion(num -2); return i; } }//求和,循环public int sum(int num){ int sum = 0; int value; for (int i = 1; i <= num; i++) { value = feboUseRecursion(i); sum += value; System.out.println(value); } return sum;}//另外附: //直接打印数量无返回值,递归问题num最小从1开始,one:0,递归问题two:1,index:1 private void feboUseRecursion2(int num,int one,int two,int index){ if (num == 1){ System.out.println(1); return; } //1、终止条件,递归问题num == index; if (index <= num){ int sum = one + two ; System.out.println(sum); feboUseRecursion2(num,递归问题two,sum,index+1); //return value(num - 1) + value(num-2);前num-1个数的和+当前的值=前num-1个数的和 +(sum()) } }