【问题标题】:how to pass argument to main method in eclipse?如何将参数传递给eclipse中的main方法?
【发布时间】:2015-05-12 03:52:58
【问题描述】:

我正在尝试将参数传递给java类主方法我想使用eclipse传递参数所以我去了

run -> run configuration -> program arguments

我写了我的论点

exp grammar

但是每当我运行它都会给我这个错误,

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
    at LL.main(LL.java:146)

这意味着它没有看到第二个参数"grammar",有人知道为什么以及如何解决这个问题吗?


编辑,这是我的主要方法

public static void main(String[] args) throws IOException {
    String exp = args[0] + '$';
    LL input = new LL(exp, Grammar.fromFile(args[1]));
    try {
        input.lLParse();
    } catch (Exception e) {
        System.out.println(e);
        System.exit(1);
    }
}

【问题讨论】:

  • @Suspended:这是问题中已经发布的主要方法。
  • 从命令行调用java LL exp grammar时程序是否运行成功?
  • 它从命令行给出了相同的错误,虽然我输入了两个字符串,但错误表明它只看到一个。
  • 您能否 System.out.println() 您的每个参数并确认它们都被读取?
  • 第一个参数 exp 打印正确,即 args[0] 问题出在语法上,因为尽管我传递了 2 个字符串,但我的 main 看不到 args[1]。顺便说一句,我无法打印语法

标签: java enums argument-passing


【解决方案1】:

Run -> Run Configuration -> Java Application -> Arguments 中输入以space 分隔的输入

【讨论】:

  • 这正是我正在做的,但它看不到第二个参数,因为它给了我数组超出边界异常
  • Halawa,您能否添加您的参数窗口的屏幕截图
【解决方案2】:

1)右键单击主类

2)点击“运行方式”

3)点击“运行配置...”

4)点击“参数”

5)在“程序参数”部分输入输入

6)点击“应用”和“运行”

注意 - 对于多个输入,您可以在“程序参数部分”的不同行中输入多个输入

【讨论】:

    【解决方案3】:

    检查这两个参数之间是否有多余的空间

    【讨论】:

      【解决方案4】:

      “ArrayIndexOutOfBoundsException”

      尝试将数组 exp 的索引扩展到 args.length

      【讨论】:

      • 抱歉没看到。尝试为 (int i = 0; i
      猜你喜欢
      • 2014-04-20
      • 2015-08-22
      • 1970-01-01
      • 2012-03-03
      • 2019-03-17
      • 2012-02-04
      • 1970-01-01
      • 2011-09-03
      • 2011-07-18
      相关资源
      最近更新 更多