我工作的一类决赛。它应该是一个“媒体库”,用于存储关于人物媒体(DVD,游戏等)的信息,以及它应该在新媒体项目中采用的其他信息,将它们存储到阵列中并在提示时显示它们。它可以完成所有这些操作,但是当它显示它时,即使它正在执行它,它也会在getter上产生一个NullPointerException。NullPointerException异常的吸
public class MediaItem {
private String title;
private String format;
private boolean onLoan;
private String loanedTo;
private String dateLoaned;
public MediaItem(){
title = null;
format = null;
onLoan = false;
loanedTo = null;
dateLoaned = null;
}
public MediaItem(String title, String format){
this.title = title;
this.format = format;
onLoan = false;
}
以上是为使“MediaItems”因为我们被告知要叫他们
下面的类中的字段和构造函数,另一个类的部分,即库本身。一个用于存储媒体项目的阵列,另一个用于打印列表。还有add方法以及我如何将它们添加到数组中。
private MediaItem[] items = new MediaItem[100];
private String[] listOfItems = new String[100];
private int numberOfItems = 0;
public void addNewItem(String title, String format){
MediaItem item = new MediaItem(title, format);
items[numberOfItems] = item;
numberOfItems++;
}
这里是
public void listAllItems(){
for (int i = 0; i < items.length; i++){
System.out.println(items[i].getTitle());
}
}
我有问题的部分这不是它应该做的,但我现在的问题是,它并打印出项目的整个列表,但也给出了NullPointerException,我不知道为什么。这是被称为吸气是一个基本的Eclipse产生的吸气
public String getTitle() {
return title;
}
这是一个Java我粗,所以我新,所以请温柔。我相信这是所有相关的部分,所以任何帮助表示赞赏!
'item [i]'对于'i'的某个值肯定是空的。如果你不调用'addNewItem' 100次,那么这行代码总会有一个NPE。 – 2014-12-06 13:05:21