为什么我得到ArrayIndexOutOfBoundsException:索引0超出长度0的界限?

时间:2019-03-31 05:56:40

标签: java arrays indexoutofboundsexception

即使在方法中引用了此数组界限,我仍然出现错误“线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:索引0超出长度0的界限”。

`public class USCrimeLibrary  

 public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    USCrimeObject crimeObject = new USCrimeObject(args[0]); `

和参考对象:

`public class USCrimeObject {
private Crime[] crimes;
String fileName = "/Users/jpl/Developer/Java/CMIS141/WK8/Crime.csv"; 
public USCrimeObject(String fileName) {
this.crimes = new Crime[20];
readFile(fileName);
}`

1 个答案:

答案 0 :(得分:0)

首先,您必须在运行程序时传递参数。

但是从您的代码来看,我认为您对代码进行微小的更改就可以使其可执行,而无需在运行程序时传递参数。

将构造函数USCrimeObject更改为

public USCrimeObject() {
this.crimes = new Crime[20];
readFile(fileName);
}

并从主类创建没有参数的USCrimeObject

USCrimeObject crimeObject = new USCrimeObject();