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 的语句设计可以使用在判断区域的值是否在要求范围