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)
答案 0 :(得分:0)
您没有使用任何命令行参数运行程序,因此数组为空。
ArrayData inputData = getArrayDataFromImage(
args.length < 1 ? "some-default-file" : args[0]
);
或者,(如果您不喜欢条件运算符? :
- 也就是三元数)
ArrayData inputData = null;
if (args.length < 1) {
inputData = getArrayDataFromImage("some-default-file");
} else {
inputData = getArrayDataFromImage(args[0]);
}
答案 1 :(得分:0)
你在这一行得到了例外
ArrayData inputData = getArrayDataFromImage(args[0]);
因为您没有从命令行传递任何参数,所以String Array [] args
的长度为 0 ,并且您正在尝试访问第一个元素。
抛出此异常表示已使用非法索引访问数组。该索引要比negative
或greater
大,要么equal
到数组的大小。