在 java 中添加斐波那契奇数序列

Adding Fibonacci odd sequence in java

我想将所有奇数相加:System.out.print(store + " "); 如果您有任何建议,请帮助我。

import java.util.stream.IntStream;

public class Fibonacci {

    public static void main(String a[]) {

        int Fibcnt = 25;
        int[] feb = new int[Fibcnt];
        feb[0] = 0;
        feb[1] = 1;
        for (int i = 2; i < Fibcnt; i++) {
            feb[i] = feb[i - 1] + feb[i - 2];
        }

        for (int i = 0; i < febCount; i++) {
            int store = feb[i];
            if (store % 2 == 1) {
                System.out.print(store + " ");
            }
        }
    }
}

您的代码的唯一问题是您在 for 循环中使用了未定义的变量名称 febCount。如果将其更改为这样应该可以正常工作:

for (int i = 0; i < Fibcnt; i++) {

你的意思是要计算所有奇数的和吗?

首先你还没有声明和初始化 febCount 所以你需要解决这个问题。在这种情况下,febCountFibcnt 相同,但您可以使用 feb.length

public class Fibonacci {

    public static void main(String a[]) {
        int Fibcnt = 25;
        int[] feb = new int[Fibcnt];
        feb[0] = 0;
        feb[1] = 1;
        for (int i = 2; i < Fibcnt; i++) {
            feb[i] = feb[i - 1] + feb[i - 2];
        }

        int sum_odd = 0;

        for (int i = 0; i < feb.length; i++) {
            if (feb[i] % 2 == 1) {
                sum_odd += feb[i];
                System.out.print(feb[i] + " ");
            }
        }
        System.out.println();
        System.out.println("Total of odd numbers: " + sum_odd);
    }
}

这段代码的输出是:

1 1 3 5 13 21 55 89 233 377 987 1597 4181 6765 17711 28657 
Total of odd numbers: 60696

看起来您打算使用 IntStream 来执行求和,在这种情况下,可以使用类似这样的东西来执行计算,但是,它不会像您的代码那样打印奇数:

int sum_odd = IntStream.of(feb).filter(i -> i%2==1).sum();