Есть корзина, есть реализация ее просмотра, есть все возможные продукты и т.д. Корзина - 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, тоже не получилось. Помогите пожалуйста кто может, буду очень благодарен. Просьба вставлять код с ответом. Заранее спасибо.
В вашем коде была проблема в том, что вы удаляете 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
элементов, которое ввел пользователь.
Советую так же ознакомиться с
итераторами
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Мое приложение открывает текстовые файлы
товарищи разрабы! Пишу android приложение, в котором столкнулся с такой проблемой: я не знаю как програмно обработать выход из приложенияТо есть,...
Скажите пожалуйста, почему когда я пытаюсь запустить данный пример происходит ошибкаПример взят с сайта javarush
Есть задача по созданию приложения, обрабатывающего аргументы командной срокиСтрока следующего вида:--file=example