В вопросах отсутствуют некоторые вещи или вы можете сказать, что они реализованы неправильно. Найдите мою программу ниже, которая вернет объект автомобиля
public class OldestCar {
public static void main(String[] args) {
Car[] cars = new Car[5];
cars[0] = new Car(2016, "honda", "civic");
cars[1] = new Car(2006, "honda", "city");
cars[2] = new Car(2017, "Lamborghini", "aventador");
cars[3] = new Car(2000, null, "caravan");
cars[4] = new Car(2010, "dodge", null);
System.out.print(new OldestCar().getOldestCar(cars).getName());
}
public Car getOldestCar(Car[] cars) {
int i = 0;
int oldestCar = 3000;
int hold = 0;
while(i < cars.length) {
if(cars[i].getYearManufactured() < oldestCar) {
oldestCar = cars[i].getYearManufactured();
hold = i;
}
i++;
}
return cars[hold];
}
}
class Car{
int YearManufactured;
String name;
String model;
Car(int YearManufactured, String name, String model){
this.YearManufactured = YearManufactured;
this.name = name;
this.model = model;
}
public int getYearManufactured() {
return YearManufactured;
}
public void setYearManufactured(int yearManufactured) {
YearManufactured = yearManufactured;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
}
. Я создал класс Car
для решения этого вопроса. Вы также можете перепроверить со своим. Я печатаю название самой старой машины. В данном случае это null
.
Некоторые недостающие точки, которые я заметил в вопросе:
- Массив автомобилей имеет размер 5, но отсутствуют автомобили [1], которые будут причина
NullPointerException
i
не увеличивается, а l oop, следовательно, l oop будет работать непрерывно getOldestCar
должен иметь массив автомобилей в качестве параметра для вычисления самого старого автомобиля
Надеюсь, это поможет
Удачного кодирования ~