1 public class Test { 2 3 // 递归实现斐波那契数列 4 public int f(int n) { 5 if (n == 0 || n == 1) { 6 return 1; 7 } else if (n > 1) { 8 return f(n - 1) + f(n - 2); 9 } else {10 return 0;11 }12 }13 14 public void testF(int n) {15 for (int i = 0; i < n; i++) {16 System.out.print("f[" + i + "]=" + f(i) + " ");17 }18 }19 20 // 非递归实现斐波那契数列21 public void printF(int n) {22 int sum = 0, sum1 = 0, sum2 = 0;23 for (int i = 0; i < n; i++) {24 if (i == 0 || i == 1) {25 sum = 1;26 System.out.print("f[" + i + "]=" + sum + " ");27 sum1 = sum;28 sum2 = sum;29 } else {30 sum = sum1 + sum2;31 System.out.print("f[" + i + "]=" + sum + " ");32 sum1 = sum2;33 sum2 = sum;34 }35 }36 }37 38 public static void main(String[] args) {39 new Test().testF(10);40 new Test().printF(10);41 }42 43 }