Я пытаюсь добавить элементы в корзину. Если элемент существует, мне необходимо обновить количество (количество) элемента, вызвав метод. Я заставляю его работать, добавляя элементы, но когда я реализую часть, где нужно обновить существующий элемент, он больше не работает. Проверьте метод добавления и подтолкните меня в правильном направлении. Благодаря!!!Как добавить значение в LinkedList
import java.util.Set;
import java.util.Map;
import java.util.List;
import java.util.HashMap;
import java.util.LinkedList;
public class ShoppingBasket {
private List<Purchase> basket;
public ShoppingBasket() {
basket = new LinkedList<Purchase>();
}
public void add(String product, int price) {
for (Purchase item : basket) { // cycle through the list
if (item.getProduct().equals(product)) { // item exists, update qty
item.increaseAmount();
} else { //item does not exist so add it to the list
basket.add(new Purchase(product, 1, price));
}
}
}
public int price() {
int price = 0;
for (Purchase item : basket) {
price += item.price();
}
return price;
}
public void print() {
for (Purchase item : basket) {
System.out.println(item);
}
}
}
public class Purchase {
private String product;
private int amount;
private int unitPrice;
public Purchase(String product, int amount, int unitPrice) {
this.product = product;
this.amount = amount;
this.unitPrice = unitPrice;
}
public String getProduct() {
return product;
}
public int price() {
// which returns the purchase price. This is obtained by raising the unit amount by the unit price
return this.amount * this.unitPrice;
}
public void increaseAmount() {
// increases by one the purchase unit amount
this.amount++;
}
public String toString() {
//returns the purchase in a string form like the following
return this.product + ": " + amount;
}
}
Просьба описать _it не функционирует какой-либо longer._. –
На самом деле он не добавляет элемент или не обновляется. Весь метод, похоже, просто перестает работать. – Ohlaph
Вызывает ли это исключение! Если он не тот, кто помечен как дубликат, был просто ошибочен – LBes