Java教程

java经典五十题第1题:斐波那契数列

本文主要是介绍java经典五十题第1题:斐波那契数列,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目展示:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

一、第一种情况:只算十二个月。

/*题目分析:斐波那契数列具体为:1,1,2,3,5,8,13,...。
显而易见,从第三个月开始,当月的兔子总数为邻近的前两个月之和;
*/
public class java1{
    public static void main (String[] args){
    //不要忘记main方法
    int a1=1;
    int a2=2;
    System.out.println("1月的兔子总数为:"+a1);
    System.out.println("2月的兔子总数为:"+a2);
    //题目要求输出每个月(共十二个月)的兔子总数,此处为一月二月的情况
    for(int i=3;i<=12;i++){
    //记得给i定义一个数据类型
    int a3=a1+a2;
    a1=a2;
    a2=a3;
    System.out.println(i+"月的兔子总数为:"+a3);
    }
    //利用for循环输出从三月份到十二月的每个月的兔子总数
    }
}

下面进行程序在eclipse中的书写以及结果展示:

程序在eclipse中的展示

结果显示
二、由用户输入查看某月份(可大于十二)时兔子总数

import java.util.*;
//调用java.util.*以用于用户数据输入
public class java1{
    public static void main(String[] args){
     System.out.println("请输入月份");
    Scanner z=new Scanner(System.in);
    //定义z作为用户输入的参数
    int a=z.nextInt();
    //把用户输入的数字赋给a
    int a1=1;
    int a2=1;
    if(a<=0)
        System.out.println("月份需大于零。");
    if(a==1)
        System.out.println("1月份兔子总数为:"+a1);
    if(a==2)
        System.out.println("2月份兔子总数为:"+a2);
    if(a>=3){
        for(int i=3;i<=a;i++){
        int a3=a1+a2;
        a1=a2;
        a2=a3;
        System.out.println(a+"月份兔子总数为:"+a3);
        }
    }
    }
}
/*此处存在一个问题,在输出大于等于3的月份n兔子总数时,会出现n-2次输出
结果暂时没有想到解决方案,等解决了在来*/
/*此处犯了一个错误,同时也是忘记了一个知识点,for循环里定义的变量只能
在for循环中使用,于是此处只需要把变量a3定义在for循环之外,再将输出语
句也书写在for循环外即可*/
import java.util.*;
//调用java.util.*以用于用户数据输入
public class java1{
    public static void main(String[] args){
     System.out.println("请输入月份");
    Scanner z=new Scanner(System.in);
    //定义z作为用户输入的参数
    int a=z.nextInt();
    //把用户输入的数字赋给a
    int a1=1;
    int a2=1;
    int a3=3;
    if(a<=0)
        System.out.println("月份需大于零。");
    if(a==1)
        System.out.println("1月份兔子总数为:"+a1);
    if(a==2)
        System.out.println("2月份兔子总数为:"+a2);
    if(a>=3){
        for(int i=3;i<=a;i++){
        a3=a1+a2;
        a1=a2;
        a2=a3;
        }
        System.out.println(a+"月份兔子总数为:"+a3);
    }
    }
}

程序试运行成功,结果也正确,读者可以自己检验。
此处是java新人的运用目前所学知识进行的程序设计,如果有更简易的方法或是其他知识点,欢迎友好交流!

这篇关于java经典五十题第1题:斐波那契数列的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!