&引用;“线程中的异常”;“主要”;java.lang.NullPointerException“;ArrayList
各位,我需要你们的帮助,因为我找不到合适的解决方案 问题是:&引用;“线程中的异常”;“主要”;java.lang.NullPointerException“;ArrayList,java,nullpointerexception,Java,Nullpointerexception,各位,我需要你们的帮助,因为我找不到合适的解决方案 问题是: **Exception in thread "main" java.lang.NullPointerException at edu.maimonides.www.progmul3.tps.tp1.Garage.park(Garage.java:57) at edu.maimonides.www.progmul3.tps.tp1.GarageElPlus.main(Garage.java:29) Java Result
**Exception in thread "main" java.lang.NullPointerException
at edu.maimonides.www.progmul3.tps.tp1.Garage.park(Garage.java:57)
at edu.maimonides.www.progmul3.tps.tp1.GarageElPlus.main(Garage.java:29)
Java Result: 1**
//翻译:Auto=Car-Moto=Motorcicle-Camioneta=Van
**Class Park Slot**
public class Park Slot {
private ArrayList<Integer> bigParkSlot =
new ArrayList<>(Arrays.asList(1, 3, 5, 7, 9, 11));
private ArrayList<Integer> avaliableParkSlot =
new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22));
private Map<Integer, String> busyParkSlot = new HashMap<>();
private ArrayList uncoveredParkSlot =
new ArrayList<>(Arrays.asList(11, 12, 13, 14, 15, 16, 17, 18, 19, 20));
private ArrayList coveredParkSlot =
new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
}
**Class Garage**
// Line 57
// the problem is here
ArrayList<Integer> pElem = c.getavaliableParkSlot();
int num = pElem.iterator().next();
**Class驻车档**
公务舱停车位{
专用ArrayList bigParkSlot=
新的ArrayList(Arrays.asList(1,3,5,7,9,11));
专用ArrayList AvailableParkSlot=
新的ArrayList(Arrays.asList)(1,2,3,4,5,6,7,8,9,10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22));
私有映射busyParkSlot=newhashmap();
private ArrayList uncoveredParkSlot=
新的ArrayList(Arrays.asList(11,12,13,14,15,16,17,18,19,20));
专用阵列列表coveredParkSlot=
新的ArrayList(Arrays.asList(1,2,3,4,5,6,7,8,9,10));
}
**类车库**
//第57行
//问题就在这里
ArrayList pElem=c.getAvailableParkSlot();
int num=pElem.iterator().next();
变量c
分配在哪里?它可能是空的。我在这里很快发现了问题:
private Park Slot c;
解决方案如下:
private Park Slot c = new Park Slot();
在类车库私人停车位c;这就是它被宣布的地方。赋值意味着
c=[此处的某些内容,可能以“new”开头]
我猜c
是空的,当你调用getAvailableParkSlot()
时,它会向你抛出错误这就是调试器的用途。在第57行放置一个断点,然后在IDE中按debug。看看什么是c
。否则,我们所说的一切都是心理调试,我们只是尝试猜测。