import java.util.Scanner;
public class FibonacciNonOOP {
/*
* 用static犹如不面向对象;
*/
public static int fibonacciNew(int n) {
if (n == 1 || n == 2)
return 1;
else {
return fibonacciNew(n - 1) + fibonacciNew(n - 2);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);// System.in 是系统类System类中的一个静态属性(in成员)
System.out.println("输入一个整数n:");
int n = sc.nextInt();// 把输入读到sc中,然后再
// 用static的Fibonacci(n)是可以不实例化对象的.调用该方法可以不依赖与对象;
System.out.println("Fibonacci(" + n + ")=" + fibonacciNew(n));
sc.close();
}
}
另一版本
import java.util.Scanner;
public class Fibonacci {
public int fibonacci(int n) {
if (n == 1 || n == 2)
return 1;
else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
public static void main(String[]args) {
Scanner sc = new Scanner(System.in);// System.in 是系统类System类中的一个静态属性(in成员)
System.out.println("输入一个整数n:");
int n = sc.nextInt();// 把输入读到sc中,然后再
Fibonacci obj=new Fibonacci();
System.out.println("Fibonacci(" + n + ")=" + obj.fibonacci(n));
//用static的Fibonacci(n)是可以不实例化对象的.调用该方法可以不依赖与对象;
sc.close();
}
}