1

我有两个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;
    }

}
4

1 回答 1

9

您在构造函数中隐藏deadline,因此您不初始化类成员deadline,而是初始化本地成员。将其更改为:

    private Job []deadline;
    Schedule (int n){
        deadline = new Job[n];
    // ^^ note - no Job[] here
    }
于 2012-05-04T23:23:49.167 回答