Fibonacci序列与数组

时间:2014-02-20 19:31:39

标签: java arrays input fibonacci

我的任务是使用斐波那契序列编写程序并将它们放入数组中。它的工作原理是获取用户输入(用户想要打印出的序列中有多少个数字),然后将其实现为一个数组,并打印出用户输入的“数字”数量的序列。 由于我错过了2周的课程,我在网上看了如何编写这个程序,并找到了一个视频,其中编写了以下代码。所以我不赞成以下代码,我只是以它为例。

无论如何这里是代码:

public class Fibonacci
{
    public static void main(String[] args)
    {
        int numToPrint;
        //how many numbers to print out

        Scanner scan = new Scanner(System.in);
        System.out.println("Hvað viltu prenta út margar tölur úr Fibonacci röðinni?");
        numToPrint = scan.nextInt();
        scan.close();

        //prints out the first 2 numbers
        int nuverandiT = 1;
        int lokaT = 0;
        System.out.println(lokaT);
        System.out.println(nuverandiT);

        //prints out the rest of the sequence
        int lokaLokaT;
        for(int i = 2; i < numToPrint; i++)
        {
            lokaLokaT = lokaT;
            lokaT = nuverandiT;
            nuverandiT = lokaLokaT + lokaT;
            System.out.println(nuverandiT);
        }
    }
}

现在用来自用户的输入打印出斐波纳契序列,但我不太确定如何将其打印成阵列。你们中的任何人都知道怎么做吗?

2 个答案:

答案 0 :(得分:1)

您必须创建一个数组,例如:

int[] simpleArray;
simpleArray = new int[numToPrint];

的地方
System.out.println(lokaT);
System.out.println(nuverandiT);

把:

simpleArray[0] = lokaT;
simpleArray[1] = nuverandiT;

在你的循环中,你改为:

System.out.println(nuverandiT);

此:     simpleArray [i] = nuverandiT;

答案 1 :(得分:0)

我猜你在说'打印成阵列'时,你的意思是你只想将值存储在一个数组中。在那种情况下,

在你的for循环之前:

int[] array = new int[numToPrint];

在你的for循环中:

array[i-2] = nuverandiT;

如果您希望在数字存储到数组后打印数字,您可能希望循环遍历它并以相同的方式打印,通过索引访问元素。有关更多信息,java文档非常好。我建议您阅读arrayscounted loops