方法递归调用要满足以下条件:
1.递归调用必须有结束条件;
2.每次调用的时候都需要根据需求改变传递的参数内容。
用递归实现阶乘算法
代码如下:
public static int c(int number){
if(number==1)//递归条件结束
return 1;//返回1的阶乘
return number*c(number-1);//保存阶乘结果
}
}
public static void main(String[] args) {
System.out.println(Person.c(90));//1-90的阶层
}
递归实现斐波那契数列
代码如下:
public static int digui(int number,int[] num) {
if(number==0||number==1) {
return 1;
}
return num[number-1]+num[number-2];
测试类
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入一个数字n");
int n = input.nextInt();
int[] number=new int[n];
for (int i = 0; i < n; i++) {
number[i]=Fibonacci.digui(i, number);
System.out.print(number[i]+" ");
}
}