为什么我得到一个ArrayIndexOutOfBoundsException:索引0超出0的长度范围? [重复]

问题描述 投票:-2回答:1

我保留一个错误“线程中的异常”主“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);
}`
java arrays indexoutofboundsexception
1个回答
0
投票

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

但是从你的代码中我认为代码的一些细微变化可以使它在执行程序时不会传递参数而可执行。

将构造函数USCrimeObject更改为

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

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

USCrimeObject crimeObject = new USCrimeObject(); 
© www.soinside.com 2019 - 2024. All rights reserved.