2016-10-09 79 views
-2

我是Java新手,想努力學習最好的技術。我試圖運行此代碼,但遇到了一個錯誤。斐波那契數列中的錯誤

代碼:

public class Fibonacci 
{ 

    public static void main(String[] args) 
    { 

     int[] numbers; 
     numbers[0]=0; 
     numbers[1]=1; 
     numbers = newint[20]; 
     System.out.println("\nFibonacci series:\n"); 
     System.out.println(numbers[0]); 
     for (int i =2; i<2; i++) 
     { 

      numbers[i]=numbers[i-2]+numbers[i-1]; 
      System.out.println(numbers[i]); 

     } 

    } 

} 

錯誤:

Fibonacci.java:10: error: cannot find symbol 
     numbers = newint[20]; 
       ^
    symbol: variable newint 
    location: class Fibonacci 
1 error 
+3

'newint [20]'它應該是'new int [20];'並且它應該在填充這個數組之前完成 – user902383

+0

for(int i = 2; i <2; i ++)'不會迭代。你的意思是「我<20」嗎? ---另外,你不打印數字[1]。 – Andreas

+0

Stackoverflow不是爲了教授絕對的基礎知識。閱讀一本書或者按照教程。 –

回答

2

你缺少new操作後的空白。此外,您還需要在陣列以前分配值初始化它,而不是之後:

int[] numbers = new int[20]; 
// Here -----------^ 
numbers[0] = 0; 
numbers[1] = 1; 
+0

感謝您的幫助! – Charlie

+0

所以,我做了你所說的,但是當我運行該程序時,唯一出現的數字是零。 – Charlie

+0

斐波納契系列: 0 – Charlie

0

像評論已經說了,改變數組的聲明,並調整上限爲你的循環,以20:

public static void main(String[] args) { 

    int[] numbers = new int[20]; 
    numbers[0]=0; 
    numbers[1]=1; 
    System.out.println("\nFibonacci series:\n"); 
    System.out.println(numbers[0]); 
    for (int i = 2; i< 20; i++) { 
     numbers[i]=numbers[i-2]+numbers[i-1]; 
     System.out.println(numbers[i]); 

    } 
}