2015-02-07 80 views
-1

我發現這個代碼,它讀取一些數字作爲參數,然後將它們分配爲數組中的值。我無法理解java如何知道數組長度應該是多少?在java中輸入數組

public static void main(String[] args) { 
    int n = args.length; 
    int[] dataset = new int[n]; 

    for (int i = 0; i < n; i++) { 
     dataset[i] = Integer.parseInt(args[i]); 

    } 
    System.out.println(java.util.Arrays.toString(dataset)); 
} 
+0

你不確定哪個數組? – DennisW 2015-02-07 14:04:44

+0

你在用什麼JDK?蝕? – gudthing 2015-02-07 14:09:09

+0

你告訴它在創建時使用大小,在你的情況下('new int [n]')'dataset'數組有'n'條目。 'n'是參數數組的長度。 Java將在啓動時創建一個具有儘可能多的參數,因爲它會發現空白分隔。 – eckes 2015-02-07 18:13:45

回答

0

你應該通過命令行運行這段代碼。例如:

java ClassName 0 4 7 12 55 

Java將知道的長度,因爲它具有輸入值的數組:0 4 7 12 55。該陣列與傳遞到main方法中的String[] args相同。

如果你想了解更多關於命令行參數的信息,那麼我推薦這個source

注意:有一些IDE爲您處理命令行參數。

0

在這段代碼中,args是作爲命令行參數傳入的,它定義了數組數據集的長度。 命令行參數是您在從命令行運行代碼時通過的參數。

0

傳遞給main:String [] args的數組來自命令行。

所以,如果你調用你的類,我們姑且稱之爲MyClass中,使用命令行:

java MyClass These are my args 

ARGS將[「這」,「是」,「我的」,「ARGS」的數組]所以它的長度爲4.

大小取決於您從命令行傳入的內容。