Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“线程中的异常”;“主要”;java.lang.ArrayIndexOutOfBoundsException:0_Java - Fatal编程技术网

“线程中的异常”;“主要”;java.lang.ArrayIndexOutOfBoundsException:0

“线程中的异常”;“主要”;java.lang.ArrayIndexOutOfBoundsException:0,java,Java,例外情况 public static void main(String[] args) throws IOException { ArrayData inputData = getArrayDataFromImage(args[0]); int minContrast = (args.length >= 4) ? 64 : Integer.parseInt(args[4]); ArrayData outputData = houghTransform(

例外情况

     public static void main(String[] args) throws IOException
  {
    ArrayData inputData = getArrayDataFromImage(args[0]);
    int minContrast = (args.length >= 4) ? 64 : Integer.parseInt(args[4]);
    ArrayData outputData = houghTransform(inputData, Integer.parseInt(args[2]), Integer.parseInt(args[3]), minContrast);
    writeOutputImage(args[1], outputData);
    return;
  }

您没有使用任何命令行参数运行程序,因此数组为空

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at HoughTransform.main(HoughTransform.java:136)

您在这一行遇到了异常

ArrayData inputData = null;
if (args.length < 1) {
    inputData = getArrayDataFromImage("some-default-file");
} else {
    inputData = getArrayDataFromImage(args[0]);
}
因为您没有从命令行传递任何参数,所以字符串数组
[]args
的长度是0,您正在尝试访问第一个元素


引发此异常是为了指示已使用非法索引访问数组。索引小于或等于数组大小。

打印数组大小并检查是否传递了适当的值args[]中的内容看起来好像没有给程序提供4个参数。这是我的全部计划如果你能看一下,我就搞不懂了。感谢you@PogorDorin错误在于如何运行程序(请注意,我的答案告诉您如何防止该错误)
java-jar myfile.jar ARG0 ARG1 ARG2
ArrayData inputData = null;
if (args.length < 1) {
    inputData = getArrayDataFromImage("some-default-file");
} else {
    inputData = getArrayDataFromImage(args[0]);
}
 ArrayData inputData = getArrayDataFromImage(args[0]);