java求斐波那契前n项和_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(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是Java代码示例: ```java public static int fibonacciSum(int n) { if (n <= 0) { return 0; } else if (n == 1) { return 1; } else { int sum = 1; int prev = 1; int curr = 1; for (int i = 2; i < n; i++) { int next = prev + curr; sum += next; prev = curr; curr = next; } return sum; } } ``` 该方法使用循环计算斐波那契数列n的和。在每次迭代中,计算下一个斐波那契数,并将其加入总和中。最后返回总和。如果n小于等于0,则返回0;如果n等于1,则返回1。 ### 回答2: 要计算斐波那契数列n的和,可以使用Java中的方法来实现。 首先,我们需要定义一个方法,该方法接受一个整数n作为参数,返回斐波那契数列n的和。方法的返回类型应该是整数。 在方法内部,我们需要使用循环来计算斐波那契数列n,并累加它们的和。 具体的实现思路如下: 1. 首先,定义两个整数变量a和b,分别初始化为0和1,用于保存斐波那契数列。 2. 定义一个整数变量sum,初始化为0,用于保存斐波那契数列n的和。 3. 使用一个for循环,从2开始,循环n次。每次迭代时,计算当的值,即将a和b相加,然后将a的值更新为b的值,将b的值更新为当的值。 4. 在循环内,累加每一的值到sum变量中。 5. 循环结束后,返回sum变量的值作为结果。 以下是具体实现Java代码: ``` public static int sumOfFibonacci(int n) { if (n <= 0) { return 0; // 如果n小于等于0,返回0 } int a = 0; int b = 1; int sum = 1; // 初始化sum为1,因为斐波那契数列的第一是1 for (int i = 2; i <= n; i++) { int current = a + b; // 计算当的值 a = b; b = current; sum += current; // 累加当的值到sum中 } return sum; // 返回斐波那契数列n的和 } ``` 使用这个方法,我们可以计算斐波那契数列n的和,例如: ``` int n = 10; int sum = sumOfFibonacci(n); System.out.println("斐波那契数列" + n + "的和为:" + sum); ``` 这样就可以打印斐波那契数列10的和的结果。 ### 回答3: 斐波那契数列一个数列,开始两个数是0和1,后面每一都是面两的和。可以使用递归或循环的方式来计算斐波那契数列的和。下面是用Java的方法计算斐波那契数列n的和的代码: ```java public class FibonacciSum { public static int fibonacciSum(int n) { if (n <= 0) { return 0; } int sum = 0; int a = 0; int b = 1; for (int i = 2; i <= n; i++) { int temp = a + b; sum += temp; a = b; b = temp; } return sum; } public static void main(String[] args) { int n = 10; // 计算斐波那契数列10的和 int sum = fibonacciSum(n); System.out.println("斐波那契数列" + n + "的和为:" + sum); } } ``` 上述代码中,定义一个静态方法`fibonacciSum`,接受一个整数n作为参数,计算斐波那契数列n的和并返回。首先检查n是否小于等于0,如果是,则返回0。在循环中,使用两个变量a和b来记录面两的值,开始时a为0,b为1。从i为2开始循环,每次计算出当斐波那契数列的值temp,并累加到sum上,然后更新a和b的值,继续循环直到i等于n。最后返回sum的值。 在`main`方法中,调用`fibonacciSum`方法,传入希望计算的斐波那契数列数n,然后将结果打印出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值