Java基础 4.9
1.方法递归调用练习
//请使用递归的方式求出斐波那契数1, 1, 2, 3, 5, 8, 13
//给你一个整数n, 求出它的值是多少
/*
思路
n = 1 1
n = 2 1
n >= 3 前两个数的和
递归的思路
*/
public class RecursionExercise01 {public static void main(String[] args) {Mathod mathod = new Mathod();int num = mathod.test01(7);System.out.println("num = " + num);}
}class Mathod {public int test01(int n) {if (n == 1 || n == 2) {return 1;} else {return test01(n - 1) + test01(n - 2);}}
}
//有一堆桃子,猴子第一天吃了其中的一半,并再多吃了一个!
//以后猴子都吃其中的一半,然后再多吃一个。当到第10天时,想再吃时(还没吃)
//发现只有1个桃子了。问:最初共有几个桃子/*
思路分析
1.day = 10 1
2.day = 9 (day10 + 1) * 2 = 4
3.day = 8 (day9 + 1) * 2 = 10
4.规律是 前一天的桃子 = (后一天的桃子 + 1) * 2
*/
public int peach(int day) {if (day == 10) {return 1;} else if (day >= 1 && day <= 9) {return (peach(day + 1) + 1) * 2;} else {System.out.println("你输入的天数不符合要求");return -1;}
}
注意:return -1 的语句设计可以使用在判断区域的值是否在要求范围