我正在制作一个andress书籍程序,该程序从用户那里获取输入以添加/搜索/显示所有内容并删除联系人。我正在尝试将联系人添加到空数组,但程序会出现此错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
仅当我将数组更改为[10]时,程序才能正常工作。
public Main() {
database = new String[0];
input = new Scanner(System.in);
dataCount = 0;
}
public void add(final String name) {
if (dataCount <= database.length) {
database[dataCount] = new String(name);
dataCount++;
System.out.println("adding: " + name);
}
}
为什么会这样?
答案 0 :(得分:1)
这不是你声明和数组的方式。 声明了一个字符串数组:arrayType [] nameOfArray new arrayType [arraySize]; 此外,您不能拥有大小为0的数组。您可以拥有一个数组1.请记住,如果您有一个名为arr且大小为x的数组,则位置arr [x]不存在但是arr [0] -arr [x -1]确实存在。