我的任务是使用斐波那契序列编写程序并将它们放入数组中。它的工作原理是获取用户输入(用户想要打印出的序列中有多少个数字),然后将其实现为一个数组,并打印出用户输入的“数字”数量的序列。 由于我错过了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);
}
}
}
现在用来自用户的输入打印出斐波纳契序列,但我不太确定如何将其打印成阵列。你们中的任何人都知道怎么做吗?
答案 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文档非常好。我建议您阅读arrays和counted loops。