У меня проблема с подключением более четырех датчиков в моем проекте ev3. При попытке добавить 5-й датчик я получаю сообщение об ошибке. Я не могу понять, почему я получаю ошибку нулевого указателя при попытке добавить 5-й датчик из другого кирпича. (Я могу добавить, например, два датчика от «верхнего» ev3 и два от «заднего» ev3, но я не могу добавить больше четырех.)
static EV3TouchSensor Top_sensor1, Top_sensor2, Top_sensor3, Top_sensor4, Back_sensor2, Back_sensor3;
static RemoteEV3 ev3_back, ev3_top;
public static void main(String[] args) throws RemoteException, MalformedURLException, NotBoundException {
RemoteEV3 ev3_top = new RemoteEV3("192.168.0.103");
RemoteEV3 ev3_back = new RemoteEV3("192.168.0.105");
Port portTS1 = ev3_top.getPort("S1");
Port portTS2 = ev3_top.getPort("S2");
Port portTS3 = ev3_top.getPort("S3");
Port portTS4 = ev3_top.getPort("S4");
Port portBS2 = ev3_back.getPort("S2");
Port portBS3 = ev3_back.getPort("S3");
if(Top_sensor1 == null) {
Top_sensor1 = new EV3TouchSensor(portTS1);
}
if(Top_sensor2 == null) {
Top_sensor2 = new EV3TouchSensor(portTS2);
}
if(Top_sensor3 == null) {
Top_sensor3 = new EV3TouchSensor(portTS3);
}
if(Top_sensor4 == null) {
Top_sensor4= new EV3TouchSensor(portTS4);
}
if(Back_sensor2 == null) {
Back_sensor2 = new EV3TouchSensor(portBS2);
// this line caused error message
}
if(Back_sensor3 == null) {
Back_sensor3 = new EV3TouchSensor(portBS3);
}
}
}
Exception in thread "main" java.lang.NullPointerException
at lejos.remote.ev3.RemoteIOPort.getName(RemoteIOPort.java:71)
at lejos.remote.ev3.RemoteAnalogPort.open(RemoteAnalogPort.java:19)
at lejos.remote.ev3.RemotePort.open(RemotePort.java:70)
at lejos.hardware.sensor.AnalogSensor.<init>(AnalogSensor.java:24)
at lejos.hardware.sensor.AnalogSensor.<init>(AnalogSensor.java:35)
at lejos.hardware.sensor.EV3TouchSensor.<init>(EV3TouchSensor.java:61)
at sterowanie.Sterowanie.main(Sterowanie.java:172)
0
Skyline118
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].