2015-04-05 94 views
0

所以,基本上我有了顯示java.lang.NullPointerException:空

private int numberOfBooks = 0; 

    public int getNumberOfBooks() 
{ 
    return numberOfBooks; 
} 

當然,當你在NUMBEROFBOOKS增加1我的其他類學生有庫添加一本新書圖書館系統以下代碼:

private LibrarySystem libraryBooks; 

    public void searchByISBN() 
{ 
    int i = 0; 
    boolean found = false; 
    while(i<libraryBooks.getNumberOfBooks()) //THE PROBLEM IS HERE 
    { 
     if(books[i].getISBN().equals(in.next())) 
     { 
      found = true; 
      break; 
     } 
     i++; 
    } 
    if(found) 
    { 
     System.out.println("\n Book info: \n ISBN: " + books[i].getISBN() + 
          "\n Title: " + books[i].getTitle() + 
          "\n Author: " + books[i].getAuthor() + 
          "\n Subject: " + books[i].getSubject()); 
         } 
     else System.out.println("There is no book with such ISBN"); 
} 

我得到一個Java.lang.NullPointerException,我不知道爲什麼。我怎樣才能解決這個問題?

+0

'libraryBooks'顯示爲空值。修復它 - 在使用之前初始化變量。如果你在解決NullPointerException(NPE)方面做了一些研究,你就會知道我們需要的最重要的信息是異常的相關堆棧跟蹤以及引起它的線的一些標識,這是堆棧跟蹤會告訴你。 – 2015-04-05 23:40:24

+0

**你應該仔細閱讀你的異常的堆棧跟蹤,找到有故障的代碼行,引發異常的代碼行,然後仔細檢查該行,找出哪個變量爲空,然後追溯到代碼中明白爲什麼。你會一次又一次遇到這些,相信我。 – 2015-04-05 23:41:26

回答

0

在你的函數,把下面的:

libraryBooks = new LibrarySystem(); 

因爲你還沒有初始化它,libraryBooks是空

相關問題