【问题标题】:Beginner: Can't run this program eventhough it is the solution [duplicate]初学者:即使它是解决方案也无法运行此程序[重复]
【发布时间】:2018-12-13 03:31:53
【问题描述】:
public class Exercise10 {

    public static void main(String[] args) {

        System.out.println("args[0] = " + args[0]);
        System.out.println("args[1] = " + args[1]);
        System.out.println("args[2] = " + args[2]); 
    }
}

我得到的错误信息是:线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 0

【问题讨论】:

  • 你没有向你的程序传递任何参数
  • java -cp . Exercise10 a b c
  • 那么这里的问题是什么? ArrayIndexOutOfBound?那是重复的。
  • 您是如何执行此操作的? java 命令或任何 ide?如果 ide 传递程序参数,java 命令跟随 Elliott Frish 评论
  • 我正在通过 Eclipse 运行它。我应该使用其他东西吗?

标签: java


【解决方案1】:

main() 的“args”字符串数组参数由您在运行程序时提供给程序的命令行参数填充。由于您可能没有给出任何内容,因此查找第 0 个是相当合理的 ArrayIndexOutOfBoundsException。

如果您在命令行上使用 java 调用它,请尝试 $ java Exercise10 arg0 arg1 arg2

如果您从 IDE 调用它,您需要弄清楚该 IDE 如何支持传递命令行参数。例如,在 Eclipse 中,我认为 Run 对话框中应该有一个 Arguments 选项卡。

【讨论】:

    【解决方案2】:

    名称中所说的“Arg”等于参数,您没有将任何参数传递给您的程序,因此它会引发错误ArrayIndexOutOfBound,您可以通过在命令提示符下将参数作为 jar 执行来将参数传递给您的程序java -jar myJar.jar a b c

    【讨论】:

      猜你喜欢
      • 2017-04-25
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      • 2020-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多