请问各位大佬这段java基础代码有什么问题。谢谢了!!

class Books{
String title;
String author;
}

public class BooksTestDrive {
public static void main(String[] args){
Books[] myBooks = new Books[3];
int x=0;
myBooks[0].title = "The Grapes of Java";
myBooks[1].title = "The Java Gatsby";
myBooks[2].title = "The Java Cookbook";
myBooks[0].author = "bob";
myBooks[1].author = "sue";
myBooks[2].author = "ian";

while(x<3) {
System.out.print(myBooks[x].title);
System.out.print("by");
System.out.println(myBooks[x].author);
x=x+1;

}
}
}

myBooks[0].title = "The Grapes of Java";
会报 空指针的,,
Books[] myBooks = new Books[3];
虽然声明了 数组 但是并没有 给 数组 赋值,就调用对象属性,绝对会报错的,

解决办法
Books[] myBooks = new Books[3];
myBooks[0] = new Books();
myBooks[1] = new Books();
myBooks[2] = new Books();
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答