2014-03-31 29 views
0

我寫了斐波那契編碼,但是我得到錯誤ArrayIndexOutofBoundsException。你能幫我找到這個例外的來源嗎?我寫了斐波那契數列的代碼,但是我得到錯誤ArrayIndexOutofBoundsException。你能幫我嗎

class Fib { 
    public static void main(String args[]) { 
     int num = Integer.parseInt(args[0]); 
     System.out.println("Fibonacci Series"); 
     int f1, f2 = 0, f3 = 1; 
     for (int i = 1; i <= num; i++) { 
      System.out.print(" " + f3 + " "); 
      f1 = f2; 
      f2 = f3; 
      f3 = f1 + f2; 
     } 
    } 
} 
+0

當你得到異常並且你想問別人關於它的時候,除了引發這個異常發佈的代碼之外,還有它的[stacktrace](http://stackoverflow.com/a/3988794/1393766)。 – Pshemo

回答

4

你沒有提供任何命令行參數到您的程序,所以args是一個零長度的數組。任何訪問零長度數組都將導致ArrayIndexOutOfBoundsException

在訪問第一個元素(索引0)之前,檢查args.length是否至少爲1

+0

非常感謝你幫助我。 – user3478666

+0

請問您可以發送該行的代碼 – user3478666

0

我沒有測試過您所提交的代碼,但這裏是幾個線索:

  • 你不帶任何參數執行應用程序。
  • 您應該首先檢查參數長度是否大於0.
  • 解析輸入參數之前,請檢查它是數字還是用try/catch包圍解析。

我希望這有助於。

祝你好運!