3

我正在使用 Netbeans 传递命令行参数,但我得到一个ArrayIndexOutOfBoundsException.

我的代码是:

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
4

4 回答 4

5

右键单击项目,选择属性,进入运行页面,添加命令行参数。

于 2010-08-13T06:50:36.663 回答
2

由于您的输出是数组,Count : 0因此该args数组具有 a length0这意味着没有传递任何参数。

当您尝试访问第一个参数时,arg[0]您会得到一个异常,因为您试图获取不存在的数组成员。在这种情况下,您试图获取空数组的第一个成员。请记住数组索引从 开始0并转到length - 1

由于args是空的,这意味着问题在于 Netbeans 传递您的参数而不是您的代码,所以我的猜测是 Netbeans 配置不正确。

于 2010-08-13T06:50:11.433 回答
0

我在项目属性/运行/参数上设置了参数,但我直接运行类(右键单击类文件-> 运行),因此没有传递项目中的参数。解决方案是右键单击项目,然后选择“运行”选项。传递的参数。

于 2013-07-23T16:11:15.430 回答
-1

单击 Final proj 并运行,而不是 netbeans 6.9 的主项目。你会得到答案。

于 2010-09-25T12:34:27.770 回答