将对象推入线程中Java异常的数组中;“主要”;java.lang.NullPointerException

将对象推入线程中Java异常的数组中;“主要”;java.lang.NullPointerException,java,nullpointerexception,Java,Nullpointerexception,我正在学习Java,我坚持这个例子 这是主要原因 package bookstore; public class BookStore { public static void main(String[] args) { // create a Book object Book Java = new Book(); Book Python = new Book(); Book PHP = new Book();

我正在学习Java,我坚持这个例子

这是主要原因

package bookstore;

public class BookStore {


    public static void main(String[] args) {
        // create a Book object

        Book Java = new Book();
        Book Python = new Book();
        Book PHP = new Book();

        Java.name =  "Thinking In Java";
        Java.author = "Ahmad Ajmi";
        Java.canBorrow = true;
        Java.canReturned = true;
        Java.pagesNumber = 400;
        Java.publisher = "Oriely";
        String publish = Java.publishedDate(2013,4,5);

        System.out.println(publish);

        // Library.booksNumber works fine
        System.out.println("You have " + Library.booksNumber + " Books");

        // The problem is here
        System.out.println(Library.books);

    }
}
图书班

package bookstore;

public class Book {

    // Defining book variables
    String name;
    String author;
    String publisher;
    int pagesNumber;
    int publisheddate;
    boolean canBorrow;
    boolean canReturned;

    public String publishedDate(int year, int month, int day) {
        return "" + year + " - " + month + " - " + day;
    }

    Book () {

        // Keep track of books created  
        Library.booksNumber += 1;

        // Here I want to push the book name into array
        for (int i = 0; i < Library.booksNumber; i++) {
            Library.books[i] = name;
        }

    }


}
当我运行时,我得到了这个错误

Exception in thread "main" java.lang.NullPointerException
    at bookstore.Book.<init>(Book.java:23)
    at bookstore.BookStore.main(BookStore.java:9)
Java Result: 1
线程“main”java.lang.NullPointerException中的异常 bookstore.Book.(Book.java:23) 在bookstore.bookstore.main(bookstore.java:9) Java结果:1
我想将图书名称推送到库中。图书数组

您需要初始化
图书
数组。
书中试试这个

Library.books = new String[Library.booksNumber];
for (int i = 0; i < Library.booksNumber; i++) {
        Library.books[i] = name;
    }
Library.books=新字符串[Library.booksNumber];
for(int i=0;i
Library.books
未初始化。这是(int i=0;iLibrary.books = new String[Library.booksNumber]; for (int i = 0; i < Library.booksNumber; i++) { Library.books[i] = name; }