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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.itheima;
/*
* 1.求斐波那契数列第n项,n<30,斐波那契数列前10项为1,1,2,3,5,8,13,21,34,55
* */
import java.util.*;
public class Test1
{
        public static void main(String[] args)
        {
                fibonacciPrint();
        }
        //定义一个方法,按提示从控制台输入项数n的值,随后打印出斐波那契数列的值
        public static void fibonacciPrint()
        {
                Scanner in=new Scanner(System.in);
                sop("输入项数:");
                int n=in.nextInt();
                sop("斐波那契数列第"+n+"项为:"+fibonacci(n));
                in.close();
        }
        //定义一个函数用于获取斐波那契数列第n项,n<30
        public static int fibonacci(int n)
        {
                                int[] arr=new int[30];
                                arr[0]=arr[1]=1;
                                for(int x=2;x<30;x++)
                                {
                                        arr[x]=arr[x-1]+arr[x-2];
                                }
                                return arr[n-1];
        }
        //定义一个简化输出方法
        public static void sop(Object obj)
        {
                System.out.print(obj);
        }
}


9 个回复

倒序浏览
没什么可简化的吧
回复 使用道具 举报 1 0
用递归来做也可以,更简化

  1. public class RabbitDemo {
  2.         public static void main(String[] args) {

  3.                 circulation(30);
  4.         }

  5.         public static void circulation(int n){
  6.                 for(int x=1;x<n;x++){
  7.                         System.out.println(fib(x));
  8.                 }
  9.         }

  10.         public static int fib(int n){
  11.                 if(n==1 || n==2){
  12.                         return 1;
  13.                 }else {
  14.                         return fib(n-1)+fib(n-2);
  15.                 }
  16.         }
  17. }
复制代码
回复 使用道具 举报 2 0
没什么可简化的
回复 使用道具 举报
没什么可简化的吧
回复 使用道具 举报
我发现这段代码有点问题,如果控制台输入N不是1-30会报异常,而且不能连续输入n,
回复 使用道具 举报
李永佳 发表于 2015-5-10 16:27
我发现这段代码有点问题,如果控制台输入N不是1-30会报异常,而且不能连续输入n, ...

那怎么解决呢?
回复 使用道具 举报
我们学递归的时候做过这道题,是一道兔子题,最后生了一个家族兔子.
回复 使用道具 举报
有用,谢谢
回复 使用道具 举报
个人认为输出的简化似乎没必要   有点过
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马