首页 > 解决方案 > 为什么我会得到一个 ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0?

问题描述

即使我在方法中引用了这个数组边界,我仍然保持错误“线程“主”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);
}`

标签: javaarraysindexoutofboundsexception

解决方案


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

但是从您的代码中,我认为您的代码中的轻微更改可以使其在运行程序时无需传递参数即可执行。

将构造函数更改USCrimeObject

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

并从主类创建USCrimeObject没有参数

USCrimeObject crimeObject = new USCrimeObject(); 

推荐阅读