Java斐波那契系列

时间:2015-06-14 23:30:35

标签: java arrays performance fibonacci

为了向用户询问他想要看到的这个系列中的哪一个数字并提示输入整数 - 1到30之间的数字(包括在内),下一步是什么?

因此,如果用户想要查看Fibonacci系列的第五(5)个数字,用户将输入整数5以响应提示。

public class MyFibonacci {
    public static void main(String a[]) {
         int febCount = 30;
         int[] feb = new int[febCount];
         feb[0] = 0;
         feb[1] = 1;
         for(int i=2; i < febCount; i++) {
             feb[i] = feb[i-1] + feb[i-2];
         }

         for(int i=0; i< febCount; i++) {
                 System.out.print(feb[i] + " ");
         }
    }
}   

3 个答案:

答案 0 :(得分:0)

使用Scanner或某些InputStreamReader来从控制台读取输入。 Scanner将以这种方式使用:

Scanner scanner = new Scanner(System.in);
if(scanner.hasNextInt())
    int someInt = scanner.nextInt();

另一种选择是使用这样的读者:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

并从阅读器的输出中解析所需的数据。在大多数情况下,使用Scanner会更简单。

答案 1 :(得分:0)

在这里:

 public class TestProgram {

    public static void main(String a[]) {

        Scanner reader = new Scanner(System.in);
        printFibonacciSeries();
        System.out.println("");
        System.out.println("Enter the number in the series of 30 you want to see");
        int num = reader.nextInt();
        int febCount = 30;
        int[] feb = new int[febCount];
        feb[0] = 0;
        feb[1] = 1;
        for (int i = 2; i < febCount; i++) {
            feb[i] = feb[i - 1] + feb[i - 2];

            if (i == num) {
                System.out.print(feb[i] + " ");
            }
        }
    }

    public static void printFibonacciSeries() {

        int febCount = 30;
        int[] feb = new int[febCount];
        feb[0] = 0;
        feb[1] = 1;
        for (int i = 2; i < febCount; i++) {
            feb[i] = feb[i - 1] + feb[i - 2];
            System.out.print(feb[i] + " ");

        }
    }

}

答案 2 :(得分:0)

public class Fibonacci_series  // upto less than a given number
{
    public static void main(long n)
    {
        long a=0, b=1, c=0;
        while (c<n)
        {
            a=b;
            b=c;
            System.out.print(c+", ");
            c=a+b;
        }
        System.out.print("....");
    }
}