Я работаю над настройкой Java с lejos для своего клуба робототехники, и я создавал некоторые базовые методы привода, но когда я организовал его в методы, он сказал мне, что у меня исключение нулевого указателя.Проблема в том, что я не знаю, где это и как это исправить.
import lejos.hardware.motor.*;
import lejos.hardware.port.*;
public class HardwareMappings {
EV3LargeRegulatedMotor leftDrive = null;
EV3LargeRegulatedMotor rightDrive = null;
public void init(HardwareMappings ahwMap) {
leftDrive = new EV3LargeRegulatedMotor(MotorPort.B);
rightDrive = new EV3LargeRegulatedMotor(MotorPort.C);
}
}
public class DrivetrainMethods {
HardwareMappings robot = new HardwareMappings();
public void TimedDrive(int direction, int power, double time) throws InterruptedException {
robot.leftDrive.setSpeed((power * 60) - direction);
robot.rightDrive.setSpeed((power * 60) + direction);
Thread.sleep((long) (time * 60));
robot.leftDrive.stop(true);
robot.rightDrive.stop(true);
}
public void TankDrive (int leftPower, int rightPower, double time) throws InterruptedException {
robot.leftDrive.setSpeed(leftPower);
robot.rightDrive.setSpeed(rightPower);
Thread.sleep((long) (time * 60));
robot.leftDrive.stop(true);
robot.rightDrive.stop(true);
}
}
public class Test {
public static void main (String[] args) throws InterruptedException{
DrivetrainMethods drivetrain = new DrivetrainMethods();
drivetrain.TimedDrive(0, 50, 1);
drivetrain.TankDrive(-50, -50, 1);
}
}
Пожалуйста, помогите!
Спасибо
пс (Предполагается, что каждый фрагмент кода должен бытьотдельный файл.)