Java打印斐波那契前N项

题外

由于idea原因 用注解test无法在控制台上输入所以写死到程序里了,版本都30.9102了为什么还是这样啊,intelJ你们该反思了!!!
用intelJ IDEA的小伙伴有遇到这种测试情况吗,如果项目上有测试用例需要自己单元测试,怎么解决控制台输入问题(@test情况下),直接改main方法的那个就算了。~~

斐波那契的认识

斐波那契数列前2项为1,从第3项开始为该项的前2项和。
eg:1,1,2,3,5,8…
f(n)=f(n-1)+f(n-2)

代码参考

import org.junit.Test;

import java.util.Scanner;

import static java.lang.System.out;

/**
 * ClassName:Maintest
 *
 * @author: zhengkw
 * @description: 测试
 * @date: 20/02/01下午 7:34
 * version:
 * @since: jdk 1.8
 */

public class Maintest { 

    @Test
    public void printFibonacciTest() {
        FibonacciSequence fibonacciSequence = new FibonacciSequence();
        //打印一个斐波那契前i项
       //   Scanner sc = new Scanner(System.in);
       // out.println("打印多少项斐波那契");
       // int i=sc.nextInt(); 
        int i =8;
        for (int n=1;n<i;n++){
            out.print(fibonacciSequence.fibonacci(n)+"\t\t");
        }

    }
}
import static java.lang.System.out;
/**
 * @ClassName:FibonacciSequence
 * @author: zhengkw
 * @description: 斐波那契数列递归应用
 * @date: 20/02/07下午 4:10
 * @version:1.0
 * @since: jdk 1.8
 */
public class FibonacciSequence {
    /**
     * @param n 项数
     * @descrption: 生成第n项元素
     * @return: int
     * @date: 20/02/07 下午 5:03
     * @author: zhengkw
     */
    public int fibonacci(int n) {
        if (n < 3) {
            return 1;
        } else {
            return fibonacci(n - 2) + fibonacci(n - 1);
        }
    }
}
发布了6 篇原创文章 · 获赞 1 · 访问量 147

猜你喜欢

转载自blog.csdn.net/qq_37714755/article/details/104212704