У меня есть метод, который добавляет новое транспортное средство (Honda) в массив vehicles
. Массив содержит максимум 4 транспортных средства.
Vehicle[] vehicles = new Vehicle[4];
Метод должен добавить 1 новый объект Vehicle
в конец массива vehicles
, если есть значение null
. Проблема в том, что он записывает во ВСЕ значения null
в массиве, а не просто записывает в 1, а затем выводит из цикла for
.
Вот что у меня есть (ПРИМЕЧАНИЕ. Мне нужно использовать массив вместо ArrayList
):
public void addVehicle(Vehicle Honda[]) throws FileNotFoundException
{
boolean found = false;
if(canAddVehicle() == true)
{
for(int i = 0; i < vehicles.length || !found; i++)
{
if(vehicles[i] == null)
{
Scanner reader = new Scanner(file);
Honda[i] = new Vehicle();
Honda[i].readRecord(reader);
vehicles[i] = Honda[i];
reader.close();
found = true;
}
}
System.out.println("Vehicle Added!");
}
}
Я установил found = true
, чтобы убедиться, что он покидает цикл for, как только находит первое значение null
в массиве ... но, похоже, он не работает. С чего бы это?
РЕДАКТИРОВАТЬ: Кроме того, мне не разрешено иметь какие-либо другие данные уровня класса.