程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....后面的每一个数都是前两个数的和。
方法一:利用递归的方法解决斐波拉且数列问题。(递归从后往前写)
import java.util.Scanner;
public class TextDay{
public static void main(String[] args) {
System.out.println("输入月份:");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println("第" + n + "个月的兔子总是为"+funing(n));
}
public static int funing(int n){
//第一个月和第二个月特殊处理
if(n == 1 || n == 2)
{
return 1;
}
else
{
return funing(n-1)+funing(n-2);
}
}
}
方法二:利用Java编程基本实现,for循环迭代。(迭代从前往后写)
import java.util.Scanner ;
public class TextDay {
public static void main(String[] args) {
System.out.println("输入月份:");
Scanner scanner =new Scanner(System.in);
int n=scanner.nextInt();
int zs; //每个月的兔子总数
int sl1=1; //第一个月的兔子数量
int sl2= 1; //第二个月的兔子数量
for(int i=1;i<=2;i++){
zs=1;
System.out.println("第" + i + "个月的兔子总是为:" + zs);
}
for(int i=3;i<=n; i++) {
zs = sl1 + sl2;
sl2= sl1;
sl1= zs;
System.out.println("第" + i + "个月的兔子总是为:" + zs);
}
}
}