我有两个Java类。 Schedule是使用称为deadline
的Jobs数组的主要类。我在将任何内容放入数组时遇到问题。我有一个for循环,可从文本文件读取数据(工作正常)并将某些数据插入deadline
。我没有成功创建deadline
,因为每当我要开始插入数组时都会得到一个NullPointerException
。 (...
下面的代码显然不是我实际编写的代码,但情况仍然相同。)
自从我用Java编码以来已经有一段时间了,所以我可能只是忽略了一些简单的东西,但是我不太确定它可能是什么。谢谢您的帮助。
public class Schedule {
private Job []deadline;
Schedule (int n){
Job[] deadline = new Job[n];
}
...
int n = 7;
Schedule schedule = new Schedule(n);
deadline[0] = new Job("A",3,40); // This line won't compile. NullPointerException
}
public class Job {
private String name;
private int deadline;
private int profit;
Job(String n, int d, int p){
name = n;
deadline = d;
profit = p;
}
}
最佳答案
您在构造函数中隐藏了deadline
,因此无需初始化类成员deadline
,而是初始化本地成员。更改为:
private Job []deadline;
Schedule (int n){
deadline = new Job[n];
// ^^ note - no Job[] here
}