Как удалить предмет из корзины в интернет-магазине? java

117
30 июля 2019, 08:50

Есть корзина, есть реализация ее просмотра, есть все возможные продукты и т.д. Корзина - ArrayList. Предметы в корзину добавляются когда я хочу их добавить, и отсюда вопрос - как их удалять оттуда?

 public static void cart () { 
                Scanner sc = new Scanner(System.in); 
                for (int i = 0; i < cart.size(); i++) { 
                    System.out.println(cart.get(i)); 
                } 
                   
                System.out.println("Enter 9 to remove products out of your cart."); 
                    int s = sc.nextInt(); 
                    do { 
                            cart.remove(s); 
                        } while (s<=11); 
                   
                }

В этом коде пытался в cart.remove(s) удалять столько раз товары, сколько напишет пользователь (s-кол-во раз). Но что-то не так. Пытался и через for, тоже не получилось. Помогите пожалуйста кто может, буду очень благодарен. Просьба вставлять код с ответом. Заранее спасибо.

Answer 1

В вашем коде была проблема в том, что вы удаляете s-й элемент списка бесконечное число раз, т.к. s не изменяется (условие s <= 11 всегда true), соответственно цикл do while выполнится либо 1 раз, либо будет выполняться бесконечное число раз.

Для решения вашей проблемы можно использовать Iterator.

Scanner sc = new Scanner(System.in);
int s = sc.nextInt();
Iterator iter = list.listIterator();
for (int i = 0; i < s; i++) {
    if (iter.hasNext()) {
        iter.next();
        iter.remove();
    }
}

В данном коде из ArrayList удалится ровно s элементов, которое ввел пользователь. Советую так же ознакомиться с итераторами

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

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

Мое приложение открывает текстовые файлы

132
Обработка закрытия android приложения

Обработка закрытия android приложения

товарищи разрабы! Пишу android приложение, в котором столкнулся с такой проблемой: я не знаю как програмно обработать выход из приложенияТо есть,...

135
Почему возникает ошибка: java: incompatible types: java.lang.Object cannot be converted to Dancer

Почему возникает ошибка: java: incompatible types: java.lang.Object cannot be converted to Dancer

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

117
Приложение командной строки JAVA

Приложение командной строки JAVA

Есть задача по созданию приложения, обрабатывающего аргументы командной срокиСтрока следующего вида:--file=example

107