main() 内的 NullPointerException [重复]

问题描述 投票:0回答:1
class Book {
    String name;
    String author; 
}
class BookTest {

    public static void main(String[] args) {
         
        Book[] books = new Book[2];

        books[0].name = "The graps";
        books[0].author = "Siffyu";
        
        
        books[1].name = "Nova supreme";
        books[1].author = "Jagga";

        for (int i = 0; i < books.length; i++) {
            System.out.println(books[i].name + ": " + books[i].author);
        }

    }
}

我尝试创建一个可以容纳 Book 类型对象的数组。创建数组后,我初始化了数组内的书籍对象并尝试打印它们。我得到了 NullPointerException 相反。

java nullpointerexception
1个回答
1
投票

您忘记实例化 Book 对象: books[1] = new Book();

public static void main(String[] args) {
        
        Book[] books = new Book[2];
        
        books[0] = new Book();
        books[0].name = "The graps";
        books[0].name = "Siffyu";
        
        books[1] = new Book();
        books[1].name = "Nova supreme";
        books[1].author = "Jagga";

        for (int i = 0; i < books.length; i++) {
            System.out.println(books[i].name + ": " + books[i].author);
        }

    }
© www.soinside.com 2019 - 2024. All rights reserved.