古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
实现,输入适当月份,可得知该月份的兔子数目的功能。
import java.util.Scanner; class Fibonacci { public static void main(String []args){ boolean flag=true; while(flag){ System.out.println(" Please enter a month "); Scanner scanner= new Scanner(System.in); String str=scanner.nextLine(); int in=Integer.parseInt(str); if(in<=0) System.out.println("月份输入有误,请不要输入负数或0"); else System.out.println("该月份的兔子数目为: "+fibn(in)+"(只)"); } } public static int fibn(int a){ if(a==1||a==2) return 2; else return fibn(a-1)+fibn(a-2); } }
可不断选择月份输入,得出相应兔子数目