A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 支胜勇 中级黑马   /  2014-6-1 23:15  /  1032 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

大家帮忙看看有什么改进的地方?
package com.itheima;

/**
* 第2题: 求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55
* @author 支胜勇
*
*/
public class Test2 {
        /***
         * 获得斐波那契数列第n项
         * @param n:数列序号
         */
        public static void getFibonacciSeriesNItem(int n) throws Exception {
               
                if(n==0){//n要大于0
                       
                        System.out.print("n要大于0!");
                       
                }else if(n>=30){//n要小于30
                       
                        System.out.print("n要小于30!");
                       
                }else{
                       
                        int[] fibonacciArr=new int[n];//申明一个n维数组
                       
                        for(int i=0;i<n;i++){//生成斐波那契数列
                               
                                if(i <= 1){//斐波那契数列第1、第2项均为1
                                       
                                        fibonacciArr[i]=1;
                                       
                                }else{//从第3项开始,后一项是前两项的和
                                       
                                        //获取斐波那契数列第i项
                                        fibonacciArr[i]=fibonacciArr[i-2]+fibonacciArr[i-1];
                                       
                                }
                        }
                       
                        //输出斐波那契数列第n项
                        System.out.print("斐波那契数列的第"+n+"项是:"+fibonacciArr[n-1]);
                       
                }
                }
       
       
        /***
         * 程序入口
         * @param args
         * @throws Exception
         */
        public static void main(String args[]) throws Exception{
               
                getFibonacciSeriesNItem(9);
               
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马