我正在编写一个程序,用于输入需要安排的各种讲座请求。 讲座有开始时间和结束时间。 要求是安排最大数量的讲座。 (该算法是在结束时间安排它们并选择非重叠讲座 - 贪婪策略)。 为了做到这一点,我有一个“讲座”班和一个“讲座调度”班。 我创建了一个输入数组(讲座)。然后我要求用户输入各种请求。 但是我收到错误“线程中的异常”main“java.lang.NullPointerException”。 请帮忙。 谢谢。 PS: 我在线“input [i] .time [0] = in.nextInt();” 确切的错误是:在lecturescheduling.LectureScheduling.main(LectureScheduling.java:116)在螺纹 异常 “主” 显示java.lang.NullPointerException 即使初始化数组时,空指针异常
//讲座类..时间[0]是开始时间和时间[1]是演讲的结束时间
class lecture{
int[] time= new int[2];
lecture (int a, int b){
time[0]=a;
time[1]=b;
}
}
// LectureScheduling类的一部分
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Input number of lectures ");
int arraylength = in.nextInt();
lecture [] input= new lecture[arraylength] ;
for (int i=0; i<arraylength; i++){
System.out.println("Input start time of lecture "+ i);
input[i].time[0] = in.nextInt();
System.out.println("Input end time of lecture "+ i);
input[i].time[1] = in.nextInt();
System.out.println();
}
input=SortByStartTime(input);
input=CreateSchedule(input);
PrintSchedule(input);
}
因此,这意味着在for循环中,我将首先初始化输入[i],然后接受输入? –
@ user1683651:是,或作为预处理,在不同的for循环中(在访问数据的for循环之前) – amit
,有很多帮助。 –