htmlsalesformatter.java

来自「ssd3部分quiz、exercise、exam的参考答案」· Java 代码 · 共 61 行

JAVA
61
字号
import java.util.*;


public class HTMLSalesFormatter implements SalesFormatter{
	static public HTMLSalesFormatter singletonInstance = new HTMLSalesFormatter();
	
	private HTMLSalesFormatter() {
		
	}
	
	static public HTMLSalesFormatter getSingletonInstance() {
		if(singletonInstance == null) {
			singletonInstance = new HTMLSalesFormatter();
		}
		
		return HTMLSalesFormatter.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 += "<html>\n<body>\n<center><h2>Orders</h2></center>\n"
		 *		+ "<hr>\n<h4>Total = " + total + "</h4>\n";
		 *
		 *for(Iterator<Order> temp1 = sales.iterator(); temp1.hasNext();) {
		 *	for(Iterator<OrderItem> temp2 = temp1.next().iterator(); temp2.hasNext();) {
		 *		record += "<p>\n<b>code:</b>" + temp2.next().getProduct().getCode() + "<br>\n" +
		 *				"<b>quentity:" + temp2.next().getQuantity() + "<br>\n" +
		 *				"<b>price:</b>" + temp2.next().getProduct().getPrice() + "<br>\n</p>";
		 *	}
		 *}
		**/
		
		for(Order temp: sales.orders) {
			total += temp.getTotalCost();
		}
		
		record += "<html>\n<body>\n<center><h2>Orders</h2></center>\n"
			+ "<hr>\n<h4>Total = " + total + "</h4>\n";
		
		for(Order temp1: sales.orders) {
			for(OrderItem temp2: temp1.getOrderItem()) {
				record += "<p>\n<b>code:</b>" + temp2.getProduct().getCode() + "<br>\n" +
				"<b>quentity:" + temp2.getQuantity() + "<br>\n" +
				"<b>price:</b>" + temp2.getProduct().getPrice() + "<br>\n</p>";
			}
		}
		
		record += "<body>/n<html>";

		return record;
	}

}

⌨️ 快捷键说明

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