java_Fabonacci斐波那契数列

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();
    }


}
posted @ 2021-12-12 15:42  xuchaoxin1375  阅读(7)  评论(0)    收藏  举报  来源