2014-06-13 30 views
0

嗨,大家好!我在arg的數組中遇到了一些問題。ArrayIndexOutOfBoundsException - 命令行參數

的錯誤,那是節目給我的是:

異常線程 「main」 java.lang.ArrayIndexOutOfBoundsException:在file1.main 1(file1.java:14)

我的計劃是:

public class FC1{ 
    public static void main (String[]arg){ 
     String[] primoArray = new String[10]; 
     primoArray[0] = arg[1]; 
     primoArray[1] = arg[2]; 
    } 
} 

你能幫助我嗎?

+0

ARG [1]'和'ARG [2]'引用第二和第三參數 - 請確保您將它們作爲應用程序參數傳遞。 Java中的數組基於0。 –

+0

你需要先傳遞參數 – AurA

回答

2

您在沒有參數時分配參數。你確定程序被多個命令行參數調用嗎?

如果這是我的程序,我會在嘗試使用其中的項目之前檢查arg數組的長度。

此外,也許你實際上是想使用arg [0]和arg [1],因爲Java數組是基於0的。

例如,

public static void main(String[] args) { 
    String[] primoArray = new String[10]; 
    if (args.length >= 2) { 
     primoArray[0] = args[0]; 
     primoArray[1] = args[1]; 
    } 
} 
+0

非常感謝。你是對的。 – user3736993

+0

@ user3736993有什麼不行? –

1

什麼是arg數組的長度嗎?你傳遞任何參數給你的java程序?如果否,那麼陣列arg是空的,則無法訪問的元件1,2。

arg FYI第一元件是`分別arg[0]

+0

非常感謝。你是對的。 – user3736993