我有两个java类。 Schedule是使用名为deadline
的作业数组的主类。我在将数据放入数组时遇到问题。我有一个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;
}
}
答案 0 :(得分:9)
您在构造函数中隐藏deadline
,因此您不会初始化类成员deadline
,而是初始化本地成员 private Job []deadline;
Schedule (int n){
deadline = new Job[n];
// ^^ note - no Job[] here
}
。将其更改为:
{{1}}