2015-02-07 57 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.

大小取决于您从命令行传入的内容。