Я создал свой класс с именем AutoMobile ();Теперь мне нужно создать методы для программы Auto Inventory, чтобы добавить автомобиль, распечатать список автомобилей, удалить автомобили и обновить атрибуты.
Что меня смущает, так это как я вызываю конструктор, чтобы создать новую машину, принимая пользовательский ввод для объекта конструктора и поля в конструкторе?
Это мой класс:
public class AutoMobile {
//initialize private variables
private String make;
private String model;
private String color;
private int year;
private int mileage;
public AutoMobile() {
this("Default make", "Default model", "Default color", 2019, 0);
System.out.println("Empty constructor called");
}
public AutoMobile(String make, String model, String color, int year, int mileage) {
this.make = make;
this.model = model;
this.color = color;
this.year = year;
this.mileage = mileage;
}
Я смог сделать это, чтобы у меня был список в основном.Тем не менее, мне нелегко распечатать содержимое списка.
public class Main {
public static AutoMobile addAuto(List<AutoMobile> autoInventory) {
Scanner addCar = new Scanner(System.in);
System.out.println("Enter Vehicle Make: ");
String make = addCar.nextLine();
System.out.println("Enter Vehicle Model: ");
String model = addCar.nextLine();
System.out.println("Enter Vehicle Color: ");
String color = addCar.nextLine();
System.out.println("Enter Vehicle Year: ");
int year = addCar.nextInt();
System.out.println("Enter Vehicle Mileage: ");
int mileage = addCar.nextInt();
AutoMobile car = new AutoMobile(make, model, color, year, mileage);
autoInventory.add(car);
addCar.close();
return car;
}
public static void removeAuto() {
//todo will be used to remove auto from invetory list
}
public static void printVehicles(List<AutoMobile> autoInventory) {
//todo allows user to print inventory lsit
}
public static void updateAttributes() {
//todo allows user to update attribute of specific vehicle
}
public static void main(String[] args) {
List<AutoMobile> autoInventory = new ArrayList<AutoMobile>();
AutoMobile newCar = (addAuto(autoInventory));
for (AutoMobile val: autoInventory) {
System.out.println(val);
}
}
}
Фактический список не распечатывается: