Изменение параметров объекта в списке List set JAVA

219
09 ноября 2017, 04:00

Ребята, я начинающий в программировании. Выбрал Java. По мере изучения учебников, ставлю собой небольшую задачу (на базе полученных знаний) и придумываю всякие программы. Вот например программа (очень простая) , но ломаю голову уже который час!

Программа спрашивает пользователя какую марку машины он хочет добавить в автопарк?

Пользователь (по номеру) вводит ее и так для всех параметров хочу сделать.

Класс Cars , в конструкторе 3 параметра.

Создал ArrayList и каждый раз (при добавлении машины в автопарк) добавляется в List новый объект класса Cars.

Так вот все бы хорошо, но как изменить значение параметра объекта в ArrayList!?

//Создание массиваArrayList из объекта Cars
    ArrayList UnitCar = new ArrayList();
    //UnitCar.add(new Cars("Honda", "Hatchback", 150));          
    //Заполнение массива              
    //Заполнение ArrayList пользователем:
    while(true){
        //Создание сканнера, считывающего нажатие:
        Scanner sc = new Scanner(System.in);
        //Добавление объекта в ArrayList 
        UnitCar.add(new Cars(null, null, 0));
        System.out.println("Выберете марку автомобиля:");
        System.out.println("1: Honda, 2: Subaru, 3: Ford, 4: Chevrolet, 5: Nissan, 0: завершение программы ");
        //Создание массива типа int, в котром будут хранится 3 параметра автомобиля
        //Марка, тип кузова, максимальная скорость.
        int ChooiseCar[] = new int[2];
        //Ввод пользователем
        ChooiseCar[0] = sc.nextInt();
        System.out.println("Выберете тип кузова:");
        System.out.println("1: Седан, 2: Хэтчбэк, 3: Универсал, 4: Кроссовер");
        ChooiseCar[1] = sc.nextInt();
        System.out.println("Выберете макимальную скорость (км/ч):");
        ChooiseCar[2] = sc.nextInt();
        //Создание объектов, по параметрам введденными пользоваталем:
        //Марка автомобиля
        if (ChooiseCar[0] == 1)
        {
            **UnitCar.set(0("Honda", null, 0));**
        } 

UPDATE:

Все поправил, все работает, объект настраивается пользователем как надо (все выводит как настроено) , но я опять-таки не могу добавить свой объект в ArrayList , как правильно это сделать?

System.out.println("Ваш первый автомобиль:");
           System.out.println("Марка: " + machine.getBrand());
           System.out.println("Кузов: " + machine.getType());
           System.out.println("Максимальная скорость: " + machine.getMaxSpeed() + " к/ч");
           break;
           **CarList.add(machine(null, null, 0));**
//Знаю, что здесь должны быть методы getX , null'ы для проверки ввел, и все-равно, никак параметры не настроить...

UPDATE:

Господи все дело было в том, что добавление объекта в ArrayList было после break основного цикла :-) извините за идиотские вопросы :_)

Answer 1

Воспользуйтесь методом set(int index, Cars newVal); index - можно получить методом indexOf(Cars value); Для того чтобы это работало вам необходимо в вашем классе Cars переопределить метод equals.

READ ALSO
Сортировка листа по значению из Map

Сортировка листа по значению из Map

Есть лист объектов с каким-то количеством полей среди которых есть типЕсть Map<String, String> в первом поле которого тип, а во втором вес

333
Изменение шрифта текста в TabLayout и TabItem

Изменение шрифта текста в TabLayout и TabItem

Всем приветКак можно сменить (а можно ли) шрифт текста в TabLayout и TabItem в Android приложении?

274
Commit android studio

Commit android studio

Создаю абсолютно чистый проект, хочу сделать коммит в BitBucket и выскакивает ошибка для многих файлов:

171
Как получить список файлов в директории? (Android API Level 26)

Как получить список файлов в директории? (Android API Level 26)

Каким образом можно получить список файлов в директории?

304