首页 > 解决方案 > 如何使用增强循环打印我的数组

问题描述

所以当我的程序运行时,它会对斐波那契数列进行一些计算。我可以轻松地在循环中打印出这 20 个斐波那契数列for,但我只想进行计算以填充Fib数组并在增强的循环中打印出来。如何使用增强的 for 循环来做到这一点?

public static void main(String[] args) {
                
        int[] Fib = new int[20];
        Fib[0] = 0;
        Fib[1] = 1;
        System.out.printf("%d %d", Fib[0], Fib[1]);
        for (int i = 2; i < Fib.length; i++) {

            Fib[2] = Fib[0] + Fib[1];
            
            Fib[0] = Fib[1];
            Fib[1] = Fib[2];
            System.out.print(" "+Fib[2]); 

            for (int x : Fib) {
                 x = Fib[2];
                System.out.print(" "+x);;
            }

        }

    }

标签: javafor-loopfibonacci

解决方案


您的代码包含一些错误,主要是:

Fib[2] = Fib[0] + Fib[1];这应该是Fib[i] = Fib[i - 1] + Fib[i - 2];
另一个错误是嵌套for循环。增强的 for 循环应该在带有 index 的循环之后i

int[] Fib = new int[20];
Fib[0] = 0;
Fib[1] = 1;

for (int i = 2; i < Fib.length; i++) {
    Fib[i] = Fib[i - 1] + Fib[i - 2];
}

for (int number : Fib) {
    System.out.print(" " + number);
}

您可以使用Arrays.toString(Fib)而不是使用循环来打印数组。


推荐阅读