⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 order.java

📁 ssd3练习4的答案
💻 JAVA
字号:
import java.util.*;

/**
 * Maintains the information of a order. Contains a collection of
 * {@link OrderItems} objects.
 * 
 * @author Wang Yunsheng
 * @version 1.0.0
 * @see OrderItems
 */
public class Order implements Iterable<OrderItem> {

	/* Collection of <code>OrderItems</code> objects. */
	private ArrayList<OrderItem> items;

	/**
	 * Constructs an empty order.
	 */
	public Order() {

		this.items = new ArrayList<OrderItem>();
	}

	/**
	 * Adds a {@link OrderItems} object to this order.
	 * 
	 * @param OrderItem
	 *            the {@link OrderItems} object.
	 */
	public void addItem(OrderItem orderItem) {

		this.items.add(orderItem);
	}

	/**
	 * Removes a {@link OrderItems} object to this order.
	 * 
	 * @param OrderItem
	 *            the {@link OrderItems} object.
	 */
	public void removeItem(OrderItem orderItem) {

		this.items.remove(orderItem);
	}

	/**
	 * Returns an iterator over the orderItems in this order.
	 * 
	 * return an {@link Iterator}
	 */
	public Iterator<OrderItem> iterator() {

		return this.items.iterator();
	}

	/**
	 * Returns the {@link orderItems} object with the specified
	 * <code>product</code>.
	 * 
	 * @param product
	 *            the product of an orderItem.
	 * @return The {@link orderItems} object with the specifed product. Returns
	 *         <code>null</code> if the object with the product is not found.
	 */
	public OrderItem getItem(Product product) {
		for (Iterator i = this.iterator(); i.hasNext();) {

			OrderItem orderItem = (OrderItem) i.next();

			if (orderItem.getProduct().equals(product)) {

				return orderItem;
			}

		}

		return null;
	}

	/**
	 * Returns the number of items in the order.
	 * 
	 * @return the number of {@link items} objects in this order
	 */
	public int getNumberOfItems() {

		return this.items.size();
	}

	/**
	 * Returns the totalCost of the order.
	 */
	public double getTotalCost() {

		double totalCost = 0.0;

		for (Iterator i = this.iterator(); i.hasNext();) {
			OrderItem orderItem = (OrderItem) i.next();

			totalCost += (orderItem.getProduct()).getPrice() * orderItem.getQuantity();
		}

		return totalCost;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -