【问题标题】:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 error message from the console [duplicate]线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:来自控制台的0错误消息[重复]
【发布时间】:2016-03-29 17:54:08
【问题描述】:

当我运行这段代码时,它会出现异常消息:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 thefirstone.Distance.main(Distance.java:18)

我从一个教程中复制了这个,它说如果你收到我收到的错误消息,那是因为“你没有提供足够的数字”。不知道他们在说什么。

代码:

  public class Distance {
 private java.awt.Point point0, point1;

 public Distance(int x0, int y0, int x1, int y1) {
   point0 = new java.awt.Point(x0, y0);
   point1 = new java.awt.Point(x1, y1);
 }

 public void printDistance() {
  System.out.println("Distance between " + point0 + " and " + point1
                  + " is " + point0.distance(point1));
}

public static void main(String[] args) {
  Distance dist = new Distance(
           intValue(args[0]), intValue(args[1]),
           intValue(args[2]), intValue(args[3]));
  dist.printDistance();
}

private static int intValue(String data) {
  return Integer.parseInt(data);
}
}

【问题讨论】:

  • 您只需在谷歌中输入您的问题即可找到答案。这也是一个重复的问题。下次请先搜索再问。
  • 您需要设置运行配置。你用的是什么IDE,还是只用命令行?
  • @flkes 我正在使用 Eclipse
  • 要填充String[] args,您需要添加程序参数。按照这个stackoverflow.com/a/19648592/3280538 回答。为您的程序输入 4 个用空格分隔的数字

标签: java exception-handling


【解决方案1】:

异常ArrayOutOfBoundException只能是因为这行代码

 Distance dist = new Distance(
           intValue(args[0]), intValue(args[1]),
           intValue(args[2]), intValue(args[3]));

请验证执行时传递的参数数量。如果它的数量小于 4,那么你可能只有这个 Exception。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-05
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多