【发布时间】:2014-03-13 01:14:12
【问题描述】:
实验室描述:生成斐波那契数列。斐波那契数列中的每个数都是数列中前两个数的和。序列中的前两个数字都是 1。第三个数字是 2,第四个数字是 3,第五个数字是 5,第六个数字是 8。程序应该能够返回 fibo 序列中的指定数字.如果指定的数字超出范围,则应返回 -1。
我在下面完成了硬数学代码,没有错误:
public class Fibonacci
{
int[] fibArray;
public Fibonacci()
{
fibArray = new int[50];
this.setFibo();
}
public void setFibo()
{
fibArray[0]=1;
fibArray[1]=1;
for(int idx = 2; idx<fibArray.length; idx++){
fibArray[idx] = fibArray[idx-1] + fibArray[idx-2];
}
}
public int[] getFibo()
{
return fibArray;
}
public String toString()
{
return this.getFibo() + "\n";
}
}
在下面我遇到了跑步者的问题:
public class FibonacciRunner
{
public static void main(String[] args) {
int[] fibArray = {1,2,3,4,5,6,11,16,21,31,41,46,1,1,2,1,2,11};
Fibonacci fibo = new Fibonacci();
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
System.out.println(fibo.getFibo());
}
}
非常感谢任何帮助!
【问题讨论】:
-
你想做什么? getFibo() 返回数组本身。要获取与元素关联的值,您应该访问它。类似:
getFibo()[34]. -
您能否举例说明您正在寻找的正确输出是什么?
-
我不确定你在问什么,但我怀疑this 可能会有所帮助。
标签: java