Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用for循环java的Fibbonacci序列_Java - Fatal编程技术网

使用for循环java的Fibbonacci序列

使用for循环java的Fibbonacci序列,java,Java,有人能告诉我如何存储前两个Fibbonaci号码吗?这对解决这个问题很有帮助 public static void main(String[] args) { int k = 0; for (int x = 1; x < 13; x++) { if (k > 2) { k = (k - 1) + (k - 2); } System.out.print(k+" "); k++;

有人能告诉我如何存储前两个Fibbonaci号码吗?这对解决这个问题很有帮助

public static void main(String[] args) {
    int k = 0;
    for (int x = 1; x < 13; x++) {

        if (k > 2) {
            k = (k - 1) + (k - 2);
        }
        System.out.print(k+" ");
        k++;
    }

}

当你得到数字5作为打印输出时,你将设置k++,这将使k=6。 之后k=k-1+k-2;输出k=6-1+6-2=5+4=9,注意:下一个应该是8,因此您的算法是错误的

你误解了斐波那契数的概念

第n个斐波那契数等于前两个斐波那契数之和。不适用于Fn-1+Fn-2

编辑: 如你所见,如果我们知道前两个斐波那契数,我们可以把这两个加起来计算第三个。第四个是第二个和第三个的总和。。。。。致

好的,这里有一种方法,你不需要递归的方法,你需要把找到的斐波那契数存储在一个数组中

好的,假设你想找到前n个斐波那契数。然后创建一个大小为n的数组,并将第一个和第二个元素设置为1,因为前两个斐波那契数分别为1和1。现在从2到n循环遍历数组。在每次迭代中,将前两个元素添加到下一个元素。 检查代码。你会发现这很容易做到

 public static void fib(int n){

    int Fibonacci [] = new int[n];
    Fibonacci [0]=1;
    Fibonacci [1]=1;

    for (int i = 2; i < n; i++) {

        Fibonacci [i]=Fibonacci [i-1]+Fibonacci [i-2];

    }

    System.out.println(Arrays.toString(Fibonacci ));
}

您的代码所需要的东西很难被描述为修复。它需要重新思考和重写,从零开始,就像一个解决方案的尝试。使用两个变量来存储前面的斐波那契数。我不同意这个问题是不清楚的。这是个好问题吗?嗯,这就是投反对票的原因。但这并不一定不清楚。@Makoto你认为它不应该被关闭,还是因为错误的原因被关闭?经常遇到这样的问题,你会不知所措,不知道该把它放在什么地方。“对我来说太宽泛了。”@MarkoTopolnik:我想避免在这里就这个问题进行冗长的辩论——我可能稍后会在Meta上发布一些关于它的内容——但我想说的是,这个问题不一定需要结束。这可能会导致否决票——我并不反对这一点——但不会导致终结。因为一个人不知道该使用哪一个而强行给出一个关闭理由,充其量是对关闭系统的滥用。我如何存储前两个fibonnacci编号,然后将它们相加。非常感谢您的帮助,我对编码还比较陌生。@highschoolcoder查看编辑后的答案