Я хочу создать программу, которая бы походила на домашний бюджет, поэтому у меня есть класс AmountModel
(я знаю, что Integer
не очень хорош для идентификатора, но сейчас это не проблема):
import java.time.LocalDate;
public class AmountModel {
private Integer id;
private Double amount;
private CategoryModel categoryModel;
private LocalDate localDate;
// getters/setters etc.
}
И в другом классе я построил этот метод deleteAmount
:
static Scanner sc = new Scanner(System.in);
public List<amountModel> deleteAmount() {
Iterator<AmountModel> it = amountList.iterator();
while (it.hasNext()) {
System.out.println("Choose index to delete ");
AmountModel am = it.next();
if (am.getId().equals(sc.nextInt())) {
it.remove();
}
break;
}
return amountList;
}
Добавление объекта работает хорошо, но когда я пытаюсь использовать метод удаления, я должен поставить первый индекс.
Пример:
У меня есть три объекта (с индексом 0, 1, 2).
- Когда я выбираю 1 или 2, программа ничего не делает.
- Когда я выбрав 0, программа удаляет первый индекс, остается индекс 1 и 2.
- Когда я выбираю 2, программа ничего не делает.
- Когда я выбираю 1, программа удаляет индекс 1, остается индекс 2 ... et c.
Что не так с этим методом?