【发布时间】:2015-04-07 18:12:46
【问题描述】:
我用对象编写了一个程序,当我尝试运行它时出现 NullPointerException 错误,但我无法发现我的代码的确切问题。这是(粗线是日食指向错误的位置):
public class Cinema {
private String cinemaName;
private String Address;
private Room Rooms[];
private Movie Movies[];
private final int MAX_NUM_MOVIES = 20;
private final int MAX_NUM_ROOMS = 5;
private int movieCounter;
private int roomCounter;
public Cinema(String cinemaName, String Address) {
this.cinemaName = cinemaName;
this.Address = Address;
Room Rooms[] = new Room[MAX_NUM_ROOMS];
@SuppressWarnings("unused")
Movie Movies[] = new Movie[MAX_NUM_MOVIES];
movieCounter = 0;
roomCounter = 0;
}
public boolean addMovieToCinema (Movie theMovie) {
if (theMovie == null) {
return false;
}
if (movieCounter < MAX_NUM_MOVIES) {
Movies[movieCounter] = new Movie(theMovie);
movieCounter++;
return true;
} else
return false;
}
}
有什么想法吗?
【问题讨论】:
-
您不必用代码“找出确切的问题”。您可以查看堆栈跟踪,它会告诉您问题发生的确切位置。
-
Eclipse 告诉您您正在使用未初始化的
Movies变量。从那里开始,您的实际问题应该是为什么我的变量没有初始化?,并且已经得到解答。 -
你知道你为什么放
@SuppressWarnings("unused")吗?如果您不知道警告在告诉您什么,为什么不尝试理解而不是告诉它闭嘴呢? :D 这实际上是你的问题的原因。 -
在 NPE 上发布堆栈跟踪。
标签: java object methods error-handling nullpointerexception