Untitled
Darin
plain_text
2 years ago
1.0 kB
9
Indexable
Đoạn code sau của tôi bị lỗi tại dòng: arrMin.get(i).add(Pmax[i][k]);
Báo lỗi là Null Pointer Exception, hãy giúp tôi sửa đoạn code này
int move(int mNum) {
int sum = 0;
Passenger[][] Pmax = new Passenger[NOS - 1][mNum];
Passenger[][] Pmin = new Passenger[NOS - 1][mNum];
for (int i = 0; i < NOS - 1; i++) {
arrMin.set(i, new PriorityQueue<>(arrMin.get(i)));
for (int k = 0; k < mNum; k++) {
Pmin[i][k] = arrMin.get(i).poll();
}
}
for (int i = 1; i < NOS; i++) {
arrMin.set(i, new PriorityQueue<>(
(Passenger a, Passenger b) -> a.pPoint == b.pPoint ? a.pId
- b.pId : b.pPoint - a.pPoint));
for (int k = 0; k < mNum; k++) {
Pmax[i - 1][k] = arrMin.get(i).poll();
}
}
for (int i = 0; i < NOS - 1; i++) {
for (int k = 0; k < mNum; k++) {
arrMin.get(i).add(Pmax[i][k]);
arrMin.get(i + 1).add(Pmin[i][k]);
sum += Pmin[i][k].pPoint + Pmax[i][k].pPoint;
}
}
return sum;
}Editor is loading...