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

📄 xmlsalesformatter.java

📁 ssd3部分quiz、exercise、exam的参考答案
💻 JAVA
字号:
import java.util.*;


public class XMLSalesFormatter implements SalesFormatter{
	static public XMLSalesFormatter singletonInstance = null;
	
	private XMLSalesFormatter() {
		
	}
	
	static public XMLSalesFormatter getSingletonInstance() {
		if(singletonInstance == null) {
			singletonInstance = new XMLSalesFormatter();
		}
		
		return XMLSalesFormatter.singletonInstance;
	}
	
	public String formatSales(Sales sales) {
		String record = "";
		double total = 0.0;
		
		/**  Why can't use this!!!
		 *for(Iterator<Order> temp = sales.iterator(); temp.hasNext();)
		 *	total += temp.next().getTotalCost();
		 *
		 *record += "<Sales>\n" +
		 *			"<Order total=\"" + total + "\">";
		 *
		 *for(Iterator<Order> temp1 = sales.iterator(); temp1.hasNext();) {
		 *	for(Iterator<OrderItem> temp2 = temp1.next().iterator(); temp2.hasNext();) {
		 *		record += "<OrderItem quantity=\"" + temp2.next().getQuantity() +
		 *					"\" price=\"" + temp2.next().getProduct().getPrice() +
		 *					"\">" + temp2.next().getProduct().getCode() + 
		 *					"</OrderItem>\n";
		 *	}
		 *}
		*/
		
		for(Order temp: sales.orders) {
			total += temp.getTotalCost();
		}
		record += "<Sales>\n" +
			"<Order total=\"" + total + "\">";
		
		for(Order temp1: sales.orders) {
			for(OrderItem temp2: temp1.getOrderItem()) {
				record += "<OrderItem quantity=\"" + temp2.getQuantity() +
							"\" price=\"" + temp2.getProduct().getPrice() +
							"\">" + temp2.getProduct().getCode() + 
							"</OrderItem>\n";
			}
		}
		
		record += "</Order>\n</Sales>";
		return record;
	}

}

⌨️ 快捷键说明

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