如何使用增强循环打印数组



所以当我的程序运行时,它会对斐波那契数列进行一些计算。我可以很容易地在for循环中打印出这20个斐波那契数列,但我只想做计算来填满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);;
}
}
}

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

Fib[2] = Fib[0] + Fib[1];这应该是Fib[i] = Fib[i - 1] + Fib[i - 2];
另一个错误是嵌套for循环。增强的for循环应该与指数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)代替循环来打印数组。

最新更新