plaintextsalesformatter.java

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

JAVA
50
字号
import java.util.*;


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

}

⌨️ 快捷键说明

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