【问题标题】:java netbeans commadline argument passingjava netbeans命令行参数传递
【发布时间】:2011-03-29 07:38:01
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: java netbeans command-line-arguments netbeans-6.9


    【解决方案1】:

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

    【讨论】:

    • 如果我将该项目设置为主项目并使用 F6 运行,我会得到输出。在这个项目中,我只有这个文件,并将这个类设置为主类。然后使用 shift+F6 运行,我无法得到输出。
    • 鼠标右键点击项目选择运行(或者F6,但运行方式不需要项目为主...)。如果您正在测试或只是尝试直接运行一个类,您将无法为其传递参数。
    • 在项目属性中,注意在'Arguments'字段中填写程序参数,而不是在'VM Options'中。
    【解决方案2】:

    由于您的输出是Count : 0,那么args 数组的length0,这意味着没有传递任何参数。

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-03-25
          • 1970-01-01
          • 1970-01-01
          • 2010-12-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多