Java main:args.length不正确?

时间:2014-02-14 18:46:42

标签: java

我打印args.length,它说5。

我也通过for(int i = 0; i < args.length;i++)打印参数,我看到4个参数。

这里有什么问题?

下面是代码:

System.out.println(args.length);
        for(int i = 0; i < args.length; i++){
            System.out.println(args[i]);
        }

我的论点是: 〜/ Desktop / Master_Bioinformatik / Data_Mining_in Bioinformatics / Project / stockori / joint.csv 2 3.2 euclidean

编辑:好吧我监督了一些事情,实际上输出是:

5线程“main”中的异常 〜/桌面/ Master_Bioinformatik / Data_Mining_in 生物信息学/项目/ stockori / joint.csv 2 3.2 欧氏

该异常短语以红色显示。我认为这是一些图形错误。但它再次出现。那是为什么?

2 个答案:

答案 0 :(得分:3)

5个参数(你的dir名称中有空格):

〜/桌面/ Master_Bioinformatik / Data_Mining_in

生物信息学/项目/ stockori / joint.csv

2

3.2

欧氏

答案 1 :(得分:2)

也许你们其中一个参数是一个空字符串(“”)。

如果您使用的是System.out.println(),则可以查看打印的行数。

修改:

如果你看到正确的行数打印,你可能会在没有意识到的情况下修改args。你有没有试过它final

使用argc上的手表逐步执行代码也很有用。