2014-04-28 35 views
2

我使用Eclipse ADT來學習Java。我使用ADT在MOOC coursera平臺上介紹Android課程。通過這門課程,我發現需要學習Java。使用Eclipse的Java ADT

我通過Java書工作:由Mike麥格拉思

簡單的步驟JAVA本課教學:將參數傳遞。我在ADT輸入的代碼是:

package com.javatutorial.hello; 

public class Option { 
    public static void main (String[] args) { 
     if (args[0].equals("-en")) 
     { 
      System.out.println("English option"); 
     } 
     else if (args[0].equals("-es")) 
     { 
      System.out.println("Spanish option"); 
     } 
     else System.out.println("Unrecognized option"); 
    } 
} 

當我運行程序我得到這個異常錯誤:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 
    at com.javatutorial.hello.Option.main(Option.java:5) 

到目前爲止,我已經找到了解決方案,我所遇到的問題,但需要幫助。預先感謝您的幫助。

回答

2

你可能不會傳遞任何參數給函數。在Run As對話框中,您需要將參數設置爲程序。如果設置不正確,則數組中的索引無效。

或者,你可以檢查args已與選擇正確通過了檢查

if(args.length >= 1) { 
    // now try to index into args. 
} 

這正確防止ArrayIndexOutOfBoundsException異常在傳遞一個選項,用戶不需要的情況。

0

當運行需要由於正在使用的話,以限定幾乎一個輸入參數應用(參數[0])

0

嘗試把一個控制第一,你也必須pass它的一些參數。

package com.javatutorial.hello; 


public class Option { 
    public static void main (String[] args) { 

     if(args.length!=0){ 
     if (args[0].equals("-en")) 
     { 
      System.out.println("English option"); 
     } 
     else if (args[0].equals("-es")) 
     { 
      System.out.println("Spanish option"); 
     } 
     else System.out.println("Unrecognized option"); 
    }} 
} 
0

運行CMD從(Windows)中的應用程序或終端(如果你工作在Linux上):

javac Option.java 
java Option -en 

您應該添加至少一個參數後java選項