【发布时间】:2016-09-10 23:47:24
【问题描述】:
所以方法是看图书馆是否有书:
public boolean exists(Book l) {
for (int i = 0; i < index; i++) {
if (books[i].equals(l)) {
return true;
}
}
return false;
}
输出:
Exception in thread "main" java.lang.NullPointerException
at Library.exists(Library.java:13)
我在这里做错了什么?
感谢你们,我得到了答案 :) 所以问题是我没有在图书馆内添加书籍!添加书籍的方法:
public void addBook(Book l) {
if (l == null) {
System.out.println("Book is unini..!");
return;
}
if (exists(l)) {
System.out.println("Book exists!");
return;
}
if (books.length == index) {
Book[] temp = new Book[books.length + 3];
for(int i=0;i<books.length;i++){
temp[i]=books[i];
}
books=temp;
}
books[index++] = l;
}
【问题讨论】:
-
您的数组包含空元素,因为您没有向其中添加任何内容?
-
数组中的一本书为空。
-
甚至
books本身为空。 -
你在哪里定义
index? -
你的书是
null。你初始化它们了吗?除了books = new Book[x],你给他们赋值了吗?
标签: java arrays class for-loop