Eclipse IDE 抱怨使用/访问书籍数组的 for 循环越界。它抱怨的第 (19) 行是: if (books[x] == null) {
我不相信这是它抱怨的问题,因为我已经用许多不同的东西替换了它,但它仍然在抱怨。一行是 for 循环的第一行 for (int x = 0; x < capacity ; ++x)
我也三重检查了条件是否正确,应该是。容量为 5,这意味着对象位置数组将位于 0、1、2、3、4,因此根据我对数组的了解,从 0 开始 x 应该是正确的。
库类(带循环的)
package exercises;
public class Library {
private int capacity;
private Book[] books = new Book[capacity];
public Library(int capacity) {
if (capacity > 1) {
this.capacity = capacity;
}
else {
this.capacity = 4;
}
}
public boolean addBook(Book book) {
int freeLocation = -1;
@SuppressWarnings("unused")
int notFreeLocation = -1;
for (int x = 0; x < capacity ; ++x) {
if (books[x] == null) { /*this is line 19*/
freeLocation = x;
}
else {
notFreeLocation = x;
}
}
if (freeLocation == -1) {
return false;
}
else {
books[freeLocation] = book;
return true;
}
}
我在 exercises.Library.addBook(Library.java:19) 和 exercises.LibraryApp.main(LibraryApp.java:8) 处收到错误“线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:0”
慕桂英3389331
相关分类