java - 为什么我会得到一个 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);
}`
解决方案
首先,您必须在运行程序时传递一个参数。
但是从您的代码中,我认为您的代码中的轻微更改可以使其在运行程序时无需传递参数即可执行。
将构造函数更改USCrimeObject
为
public USCrimeObject() {
this.crimes = new Crime[20];
readFile(fileName);
}
并从主类创建USCrimeObject
没有参数
USCrimeObject crimeObject = new USCrimeObject();
推荐阅读
- java - 有没有办法将 JTextField 拆分为整数
- swift - watchOS 不进入 ComplicationController
- xamarin.forms - 将附加属性复制到 xamarin 表单中的新实例
- wikipedia - 如何从维基数据页面获取维基百科图像
- c++ - 如何在不同的命名空间中使用双重声明的 extern“C”函数进行 clang 构建(如 msvc 和 gcc)
- scala - sbt 相当于 gradle 的 JavaExec
- flutter - 有什么方法可以在 Flutter 中使用带有 spritewidget 的 Text 吗?
- elasticsearch - Open Distro Elasticsearch - 使用 JWT 对 Kibana 进行身份验证
- c# - 如何将 .tsv 内容转换为 xml
- java - 如何从自定义弹出菜单扩展的选择事件中获取选定的对象值?