java把斐波那契数列的前30项用数组存储并打印输出。要求每6个数据打印在一行

如题所述

public class Fib {
public static void main(String[] args) {
Fib fib = new Fib();
int[] array = fib.getFibArray(30);
fib.printArray(array, 6);
}

/**
* 生成长度为 length 的数组, 存入斐波那契数量的前 length 项
*/
public int[] getFibArray(int length) {
int[] array = new int[length];
for (int i = 0; i < array.length; i++) {
array[i] = this.getFib(i);
}
return array;
}

/**
* 获取第 index 位置的斐波那契数列的值
*/
public int getFib(int index) {
if (index == 0 || index == 1) {
return 1;
} else {
return getFib(index - 1) + getFib(index - 2);
}
}

/**
* 打印数组 array 中的值, 每 x 个为一行
*/
public void printArray(int[] array, int count) {
int index = 0;
for (int i : array) {
System.out.print(i + "\t");
index++;
if (index % count == 0) {
System.out.println();
}
}
}
}
温馨提示:答案为网友推荐,仅供参考