2016-11-03 92 views
-3

我无法对这个分配工作,并可以使用一些帮助这里进行样品的输入和输出的说明操作:Fibonnaci.java和亚军

enter image description here

https://i.stack.imgur.com/nawNh.png。任何帮助将不胜感激。

import java.util.Arrays; 

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

    } 
} 
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(int index) 
    { 
    if(index < 50) 
    return fibArray[index]; 
    else 
     return -1; 
    } 

    public String toString() 
    { 
     return this.getFibo() + "\n"; 
    } 
} 
+3

getFibo需要一个int值,但不带参数调用它。这将是一个编译器错误。 for(int I = 0; I <50; I ++)System.out.println(fibo.getFibo(I));可能是一个线索 –

回答

0

阿什利是正确的。你应该在主程序中做这样的事情:

for (int i = 0; i < fibArray.length; i++) 
    System.out.println(fibo.getFibo(fibArray[i]));