2010-08-13 82 views
3

我通過使用Netbeans命令行參數,但我得到一個ArrayIndexOutOfBoundsExceptionjava netbeans commadline參數傳遞

我的代碼是:

public class CmdLineArgumentPassing 

{ 

     public static void main(String args[]) 
     {   
     System.out.println("Count : " + args.length); 

     System.out.println("i : "+args[0]); 
     } 
} 

的輸出是:

Count : 0 

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 

回答

5

用鼠標右鍵單擊該項目,選擇屬性,進入運行頁面,添加命令行參數。

+0

雅我已經做到了這一點,我的價值是12。 – Samurai 2010-08-13 06:54:23

+0

如果我將該項目設置爲主項目,並使用F6運行,則獲得輸出。在這個項目中,我只有這個文件,並且將這個類設置爲主類。然後運行使用shift + F6我不能得到輸出。 – Samurai 2010-08-13 06:58:41

+1

用鼠標右鍵單擊項目,然後選擇運行(或F6,但運行方式不需要項目是主要的...)。如果你正在測試或者只是試圖直接運行一個類,你將無法傳遞它的參數。 – TofuBeer 2010-08-13 15:26:00

2

作爲輸出是Count : 0args陣列具有0length這意味着沒有參數被傳遞。

當您嘗試使用arg[0]訪問第一個參數時,您會嘗試獲取不存在的數組成員。在這種情況下,您試圖獲取空數組的第一個成員。記住陣列索引從0開始,然後轉到length - 1

由於args爲空,這意味着問題是Netbeans將您的參數傳遞給您的代碼,因此我猜測Netbeans配置不正確。

-1

點擊Final proj並運行,而不是NetBeans 6.9的主要項目。 你會得到答案。

0

我在項目屬性/運行/參數上設置了參數,但我直接運行類(右鍵單擊類文件 - >運行),所以傳遞的項目中沒有參數。解決方案是在項目上單擊鼠標右鍵,然後選擇「運行」選項。通過的論點。