📄 shoppingcart.java
字号:
package coreservlets;
import java.util.*;
/** A shopping cart data structure used to track orders.
* The OrderPage servlet associates one of these carts
* with each user session.
* <P>
* Taken from Core Servlets and JavaServer Pages
* from Prentice Hall and Sun Microsystems Press,
* http://www.coreservlets.com/.
* © 2000 Marty Hall; may be freely used or adapted.
*/
public class ShoppingCart {
private Vector itemsOrdered;
/** Builds an empty shopping cart. */
public ShoppingCart() {
itemsOrdered = new Vector();
}
/** Returns Vector of ItemOrder entries giving
* Item and number ordered.
*/
public Vector getItemsOrdered() {
return(itemsOrdered);
}
/** Looks through cart to see if it already contains
* an order entry corresponding to item ID. If it does,
* increments the number ordered. If not, looks up
* Item in catalog and adds an order entry for it.
*/
public synchronized void addItem(String itemID) {
ItemOrder order;
for(int i=0; i<itemsOrdered.size(); i++) {
order = (ItemOrder)itemsOrdered.elementAt(i);
if (order.getItemID().equals(itemID)) {
order.incrementNumItems();
return;
}
}
ItemOrder newOrder = new ItemOrder(Catalog.getItem(itemID));
itemsOrdered.addElement(newOrder);
}
/** Looks through cart to find order entry corresponding
* to item ID listed. If the designated number
* is positive, sets it. If designated number is 0
* (or, negative due to a user input error), deletes
* item from cart.
*/
public synchronized void setNumOrdered(String itemID,
int numOrdered) {
ItemOrder order;
for(int i=0; i<itemsOrdered.size(); i++) {
order = (ItemOrder)itemsOrdered.elementAt(i);
if (order.getItemID().equals(itemID)) {
if (numOrdered <= 0) {
itemsOrdered.removeElementAt(i);
} else {
order.setNumItems(numOrdered);
}
return;
}
}
ItemOrder newOrder =
new ItemOrder(Catalog.getItem(itemID));
itemsOrdered.addElement(newOrder);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -