Перечисление объектов Array и их переменных в метод Main - PullRequest
0 голосов
/ 21 апреля 2019

Ладно, ребята, я новичок здесь, но неоднократно использовал сайт, пытаясь найти решение моей проблемы. У меня есть программа инвентаризации автомобилей, над которой я работаю в школе. По сути, я использую сеттеры и геттеры для добавления объектов в ArrayList в моем автомобильном классе.

У меня много проблем с написанием метода listAllVehicles. Сначала я мог перечислить транспортные средства в списке транспортных средств, но это дало бы мне указатель на объект. Так это выглядело примерно так com.automobile@1662365. Я хочу создать метод цикла с именем listAllVehicles в автомобильном классе, который просматривает список массивов и печатает краткое описание каждого транспортного средства, пока список не будет завершен. Я добился определенных успехов в написании кода, но он не работает и цикл for не инициализируется. Я уверен, что вы, ребята, будете знать, какого черта я делаю неправильно.

В настоящее время мой код не настроен на метод ToString для форматирования напечатанного, но я открыт для идеи (уже попробовал, но не смог понять)

Любая помощь будет принята с благодарностью. Спасибо всем!

Я пытался привести в ряд. Я возился с приведением к объекту в цикле for. На самом деле куча разных вещей, но я не могу заставить все это работать.

public static void main(String[] args) {
        String model, make, color;
        int year = 0;
        int mileage = 0;
        Scanner userInput = new Scanner(System.in);

        System.out.println("[1]Add a Vehicle\n[2]List All 
        Vehicles\n[3]Update a Vehicle\n[4]Delete a Vehicle\n[5]Quit\n");
        System.out.print("Please choose from an option above: ");
        int userChoice = userInput.nextInt();
        switch(userChoice) {
        case 1:
            Scanner addVehicleScanner = new Scanner(System.in);
            Automobile newVehicle = new Automobile();
            System.out.print("What is the vehicle make: ");
            make = addVehicleScanner.next();
            newVehicle.setMake(make);
            System.out.print("What is the vehicle model: ");
            model = addVehicleScanner.next();
            newVehicle.setModel(model);
            System.out.print("What is the vehicle color: ");
            color = addVehicleScanner.next();
            newVehicle.setColor(color);
            System.out.print("What is the vehicle year: ");
            year = addVehicleScanner.nextInt();
            newVehicle.setYear(year);
            System.out.print("What is the vehicle mileage: ");
            mileage = addVehicleScanner.nextInt();
            newVehicle.setMileage(mileage);
            newVehicle.addVehicle(newVehicle);
            vehicleInventory.main(args);
            break;
        case 2:
            Automobile printAllVehicles = new Automobile();
            printAllVehicles.listAllVehicles();
            break;
        case 3:
            //FIX ME: Add Update Vehicle Code
            break;
        case 4:
            //FIX ME: Add Delete Vehicle Code
            break;
        case 5:
            System.out.println("\n\nGoodbye!");
            break;




public void listAllVehicles() {
        Automobile temp = new Automobile();
        for (int i = 0; i < vehicles.size(); i++) {
            temp = (Automobile) vehicles.get(i);
            System.out.println(temp);
        }
    }

1 Ответ

2 голосов
/ 21 апреля 2019

Несколько предложений, чтобы ваш код работал

1) Переопределите toString метод класса Automobile и верните значение полной детализации автомобильного объекта, чтобы при вызове System.out.println для объекта Automobile он давал вам эти данные

@Override
public String toString() {
return "Automobile [ model "+ model +"]";
}

2) Никогда не вызывайте main метод, подобный vehicleInventory.main(args). Основной метод должен вызываться JVM как отправная точка вашего класса. В своем коде вместо вызова этого вы можете использовать while loop

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...