publicclassFibonacci{publicstaticvoidmain(String[] args){
Scanner scanner =newScanner(System.in);int n = scanner.nextInt();long a =0,b =1;while(n -1>0){long c = a + b;
a = b;
b = c;
n--;}
System.out.println(a);}}
与递归的时间 比较
publicclassCompareFibonacci{publicstaticvoidmain(String[] args){
Scanner scanner =newScanner(System.in);int m = scanner.nextInt();
Fib1 fib1 =newFib1();
fib1.caleTime(m);
System.out.println(fib1.code(m));
Fib fib =newFib();
fib.caleTime(m);
System.out.println(fib.code(m));}}abstractclassTimeTest{abstractlongcode(int n);publicvoidcaleTime(int n){long start = System.currentTimeMillis();code(n);long end = System.currentTimeMillis();
System.out.println("耗费时间: "+(end - start)+"ms");}}classFibextendsTimeTest{@Overridelongcode(int n){if(n ==1){return0;}if(n ==2|| n ==3){return1;}returncode(n -1)+code(n -2);}}classFib1extendsTimeTest{@Overridelongcode(int n){long a =0, b =1;while(n -1>0){long c = a + b;
a = b;
b = c;
n--;}return a;}}