亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gourmetcoffee.java

?? ssd 3 java程序練習(xí) exercise 5 絕對(duì)沒有問題
?? JAVA
字號(hào):
import java.io.*;
import java.util.*;
//import java.text.*;

/**
 * This class implements a gourmet coffee system.
 *
 * @author author name
 * @version 1.1.0
 * @see Product
 * @see Coffee
 * @see CoffeeBrewer
 * @see Catalog
 * @see OrderItem
 * @see Order
 * @see SalesFormatter
 * @see PlainTextSalesFormatter
 * @see HTMLSalesFormatter
 * @see XMLSalesFormatter
 */
public class GourmetCoffee  {

	private static BufferedReader  stdIn =
		new  BufferedReader(new  InputStreamReader(System.in));
	private static PrintWriter  stdOut = new  PrintWriter(System.out, true);
	private static PrintWriter  stdErr = new  PrintWriter(System.err, true);

	private Sales  sales;

	private SalesFormatter  salesFormatter;

	/**
	 * Loads data into the catalog and starts the application.
	 *
	 * @param args  String arguments.  Not used.
	 * @throws IOException if there are errors in the input.
	 */
	public static void  main(String[]  args) throws IOException  {

		GourmetCoffee  application = new  GourmetCoffee();
		application.run();

	}

	/**
	 * Constructs a <code>GourmetCoffee</code> object and
	 * initializes the catalog and sales data.
	 *
	 * @param initialCatalog a product catalog
	 */
	private GourmetCoffee() {

		this.sales = new Sales();
		this.salesFormatter = 
			PlainTextSalesFormatter.getSingletonInstance();

		loadSales(loadCatalog());
	}

	/**
	 * Creates an empty catalog and then add products to it.
	 *
	 * @return a product catalog
	 */
	private Catalog loadCatalog() {

		Catalog catalog = new Catalog();

		catalog.addProduct(
			new Coffee("C001", "Colombia, Whole, 1 lb", 17.99,
				"Colombia", "Medium", "Rich and Hearty", "Rich",
				"Medium", "Full"));
		catalog.addProduct(
			new Coffee("C002", "Colombia, Ground, 1 lb", 18.75,
				"Colombia", "Medium", "Rich and Hearty", "Rich",
				"Medium","Full"));
		catalog.addProduct(
			new Coffee("C003", "Italian Roasts, Whole, 1 lb",
				16.80, "Latin American Blend", "Italian Roast",
				"Dark and heavy", "Intense", "Low", "Medium"));
		catalog.addProduct(
			new Coffee("C004", "Italian Roasts, Ground, 1 lb",
				17.55, "Latin American Blend", "Italian Roast",
				"Dark and heavy", "Intense", "Low", "Medium"));
		catalog.addProduct(
			new Coffee("C005", "French Roasts, Whole, 1 lb",
				16.80, "Latin American Blend", "French Roast",
				"Bittersweet, full intense", "Intense, full", "None", "Medium"));
		catalog.addProduct(
			new Coffee("C006", "French Roasts, Ground, 1 lb",
				17.55, "Latin American Blend", "French Roast",
				"Bittersweet, full intense", "Intense, full", "None", "Medium"));
		catalog.addProduct(
			new Coffee("C007", "Guatemala, Ground, 1 lb", 17.99,
				"Guatemala", "Medium", "Rich and complex", "Spicy",
				"Medium to high", "Medium to full"));
		catalog.addProduct(
			new Coffee("C008", "Guatemala, Ground, 1 lb", 18.75,
				"Guatemala", "Medium", "Rich and complex", "Spicy",
				"Medium to high", "Medium to full"));
		catalog.addProduct(
			new Coffee("C009", "Guatemala, Whole, 1 lb", 19.99,
				"Sumatra", "Medium", "Vibrant and powdery",
				"Like dark chocolate", "Gentle", "Rich and full"));
		catalog.addProduct(
			new Coffee("C010", "Guatemala, Ground, 1 lb", 20.50,
				"Sumatra", "Medium", "Vibrant and powdery",
				"Like dark chocolate", "Gentle", "Rich and full"));
		catalog.addProduct(
			new Coffee("C011", "Special Blend, Whole, 1 lb",
				16.80, "Latin American Blend", "Dark roast",
				"Full, roasted flavor", "Hearty", "Bold and rich", "Full"));
		catalog.addProduct(
			new Coffee("C012", "Special Blend, Ground, 1 lb",
				17.55, "Latin American Blend", "Dark roast",
				"Full, roasted flavor", "Hearty", "Bold and rich", "Full"));

		catalog.addProduct(
			new CoffeeBrewer("B001", "Home Coffee Brewer",
				150.00, "Brewer 100", "Pourover", 6));
		catalog.addProduct(
			new CoffeeBrewer("B002", "Coffee Brewer, 2 Warmers",
				200.00, "Brewer 200", "Pourover", 12));
		catalog.addProduct(
			new CoffeeBrewer("B003", "Coffee Brewer, 3 Warmers",
				280.00, "Brewer 210", "Pourover", 12));
		catalog.addProduct(
			new CoffeeBrewer("B004", "Commercial Brewer, 20 cups",
				380.00, "Quick Coffee 100", "Automatic", 20));
		catalog.addProduct(
			new CoffeeBrewer("B005", "Commercial Brewer, 40 cups",
				480.00, "Quick Coffee 200", "Automatic", 40));

		catalog.addProduct(
			new Product("A001", "Almond Flavored Syrup", 9.00));
		catalog.addProduct(
			new Product("A002", "Irish Creme Flavored Syrup", 9.00));
		catalog.addProduct(
			new Product("A003", "Mint Flavored syrup", 9.00));
		catalog.addProduct(
			new Product("A004", "Caramel Flavored Syrup", 9.00));
		catalog.addProduct(
			new Product("A005", "Gourmet Coffee Cookies", 12.00));
		catalog.addProduct(
			new Product("A006", "Gourmet Coffee Travel Thermo", 18.00));
		catalog.addProduct(
			new Product("A007", "Gourmet Coffee Ceramic Mug", 8.00));
		catalog.addProduct(
			new Product("A008", "Gourmet Coffee 12 Filters", 15.00));
		catalog.addProduct(
			new Product("A009", "Gourmet Coffee 36 Filters", 45.00));

		return catalog;
	}

	/**
	 * Initializes the sales object.
	 */
	private void loadSales(Catalog catalog) {

		Order orderOne = new Order();

		orderOne.addItem(new OrderItem(catalog.getProduct("C001"), 5));
		this.sales.addOrder(orderOne);

		Order orderTwo = new Order();

		orderTwo.addItem(new OrderItem(catalog.getProduct("C002"), 2));
		orderTwo.addItem(new OrderItem(catalog.getProduct("A001"), 2));
		this.sales.addOrder(orderTwo);

		Order orderThree = new Order();

		orderThree.addItem(new OrderItem(catalog.getProduct("B002"), 1));
		this.sales.addOrder(orderThree);
	}

	/**
	 * Displays a menu of options and verifies the user's choice.
	 *
	 * @return an integer in the range [0,3]
	 */
	private int  getChoice() throws IOException  {

		int  input;

		do  {
			try  {
				stdErr.println();
				stdErr.print("[0]  Quit\n"
				             + "[1]  Display sales (Plain Text)\n"
				             + "[2]  Display sales (HTML)\n"
				             + "[3]  Display sales (XML)\n"
				             + "choice> ");
				stdErr.flush();

				input = Integer.parseInt(stdIn.readLine());

				stdErr.println();

				if (0 <= input && 3 >= input)  {
					break;
				} else {
					stdErr.println("Invalid choice:  " + input);
				}
			} catch (NumberFormatException  nfe)  {
				stdErr.println(nfe);
			}
		}  while (true);

		return  input;
	}

	/**
	 * Changes the sales formatter.
	 *
	 * @param newFormatter a sales formatter
	 */
	private void setSalesFormatter(SalesFormatter newFormatter){

		salesFormatter=newFormatter;/* PLACE YOUR CODE HERE */
	}

	/**
	 * Displays the sales information in the current format.
	 */
	private void displaySales() {

		stdOut.println(salesFormatter.formatSales(this.sales));/* PLACE YOUR CODE HERE */
	}

	/**
	 * Presents the user with a menu of options and executes the
	 * selected task.
	 */
	private void run() throws IOException  {

		loadSales(this.loadCatalog());
		int  choice = getChoice();

		while (choice != 0)  {
			if (choice == 1)  {

				setSalesFormatter(PlainTextSalesFormatter.getSingletonInstance());/* PLACE YOUR CODE HERE */
				displaySales();

			} else if (choice == 2)  {

				setSalesFormatter(HTMLSalesFormatter.getSingletonInstance());/* PLACE YOUR CODE HERE */
				displaySales();

			} else if (choice == 3)  {

				setSalesFormatter(XMLSalesFormatter.getSingletonInstance());/* PLACE YOUR CODE HERE */
				displaySales();

			}

			choice = getChoice();
		}
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国模娜娜一区二区三区| 粉嫩高潮美女一区二区三区 | 成人欧美一区二区三区在线播放| 色综合色综合色综合色综合色综合 | 日本乱人伦一区| 激情综合五月天| 亚洲成人免费影院| 中文字幕一区av| 欧美v国产在线一区二区三区| 一本到不卡精品视频在线观看| 国内精品写真在线观看| 性欧美疯狂xxxxbbbb| 亚洲日本va午夜在线电影| 久久久综合九色合综国产精品| 欧美日韩一区二区在线观看视频| 丁香五精品蜜臀久久久久99网站 | 亚洲美女视频在线| 国产亚洲自拍一区| 日韩欧美一级片| 欧美午夜影院一区| 91蜜桃免费观看视频| 国产成人a级片| 国产专区综合网| 美女视频黄频大全不卡视频在线播放| 成人午夜视频福利| 精品一区二区免费| 久久精品国产亚洲aⅴ| 视频一区中文字幕国产| 亚洲在线视频免费观看| 亚洲天堂av一区| 亚洲欧洲精品天堂一级| 国产欧美精品一区二区三区四区 | 欧美日韩国产一级| 91福利在线播放| 色av成人天堂桃色av| 91免费视频大全| 91黄色激情网站| 欧美性受xxxx黑人xyx性爽| 色成人在线视频| 在线视频一区二区三区| 欧美日韩在线播| 欧美日韩美女一区二区| 欧美肥妇free| 日韩欧美成人一区二区| 欧美一级高清片| 精品三级av在线| 精品免费一区二区三区| 久久综合九色综合97_久久久 | 国产免费久久精品| 国产精品色婷婷| 国产精品对白交换视频| 亚洲男人天堂av网| 亚洲一区二三区| 日韩激情视频网站| 捆绑调教美女网站视频一区| 激情av综合网| 成人午夜在线免费| 欧美综合色免费| 91精品国产品国语在线不卡| 日韩免费一区二区三区在线播放| 2023国产精华国产精品| 国产精品人人做人人爽人人添| 亚洲色图一区二区三区| 亚洲午夜私人影院| 久久国产福利国产秒拍| 成人一区二区三区在线观看| 色婷婷精品久久二区二区蜜臂av| 欧美日韩一区二区三区高清| 宅男在线国产精品| 欧美经典一区二区三区| 亚洲欧美另类小说| 日韩av电影免费观看高清完整版 | 一区二区三区中文字幕精品精品 | 亚洲欧美日韩在线| 日韩国产欧美在线视频| 粉嫩aⅴ一区二区三区四区| 色婷婷综合在线| 精品日韩在线观看| 悠悠色在线精品| 久久国产精品无码网站| 色综合天天在线| 日韩欧美另类在线| 亚洲精品视频自拍| 激情综合色综合久久综合| 91小宝寻花一区二区三区| 日韩精品一区二区三区中文不卡| 国产精品免费aⅴ片在线观看| 亚洲电影第三页| 国产一区二区看久久| 欧美日韩综合一区| 国产精品美女一区二区在线观看| 日本vs亚洲vs韩国一区三区| 本田岬高潮一区二区三区| 欧美一区二区三区播放老司机| 中文字幕在线不卡| 精品一区二区三区视频在线观看| 一本一道久久a久久精品综合蜜臀| 日韩免费观看高清完整版在线观看| 中文字幕一区不卡| 国产麻豆成人传媒免费观看| 欧美日韩综合不卡| 亚洲视频中文字幕| 高清国产一区二区| 日韩三级在线免费观看| 亚洲一区二区中文在线| 波多野结衣在线一区| 91精品国产综合久久精品图片 | 亚洲成人激情综合网| 福利电影一区二区| 精品国产一区二区三区不卡 | 久久黄色级2电影| 欧美日韩电影在线| 亚洲男人的天堂网| 成人av先锋影音| 亚洲国产精品黑人久久久| 黄页网站大全一区二区| 91麻豆精品国产91久久久资源速度| 亚洲精品久久7777| 一本色道久久综合亚洲91| 中文天堂在线一区| 国产成人高清在线| 久久久久一区二区三区四区| 奇米一区二区三区| 91精品国产综合久久久蜜臀图片| 亚洲制服丝袜av| 欧美写真视频网站| 亚洲一区精品在线| 欧美三级欧美一级| 性做久久久久久| 91精品婷婷国产综合久久竹菊| 亚洲图片欧美色图| 欧美性极品少妇| 亚洲午夜三级在线| 欧美午夜片在线看| 亚洲成人在线观看视频| 欧美美女喷水视频| 日本成人中文字幕在线视频| 欧美性xxxxx极品少妇| 亚洲精品视频在线观看免费 | 久久久久久免费网| 国产一区二区三区美女| 久久综合九色综合97婷婷| 激情欧美一区二区| 国产亚洲婷婷免费| av动漫一区二区| 亚洲欧美日韩在线不卡| 在线观看欧美精品| 亚洲18影院在线观看| 欧美裸体一区二区三区| 日本女优在线视频一区二区| 欧美一二三四在线| 国产一区欧美日韩| 国产精品欧美一区二区三区| 99这里只有久久精品视频| 樱桃国产成人精品视频| 欧美视频中文一区二区三区在线观看 | 91丨porny丨国产| 亚洲综合色噜噜狠狠| 51精品秘密在线观看| 激情五月激情综合网| 国产精品午夜电影| 一本久久精品一区二区| 日韩高清在线观看| 欧美精品一区二区三区在线| 99天天综合性| 亚洲成人你懂的| 久久久www免费人成精品| 99国产精品久久久| 亚洲地区一二三色| 亚洲精品一区二区三区精华液| 成人a区在线观看| 亚洲国产精品久久久久婷婷884 | 国产亚洲精品资源在线26u| hitomi一区二区三区精品| 亚洲一区在线观看视频| 精品久久久久久综合日本欧美| 成人app软件下载大全免费| 日韩精品一二区| 国产日韩欧美一区二区三区综合| 日本韩国一区二区三区| 看国产成人h片视频| 亚洲免费观看视频| 精品美女一区二区| 在线观看一区二区精品视频| 久久99九九99精品| 亚洲精品成人天堂一二三| 欧美精品一区二区三区久久久 | 亚洲精品在线观看网站| 色菇凉天天综合网| 国产精品亚洲а∨天堂免在线| 亚洲一区二区三区激情| 久久精品视频在线看| 欧美色手机在线观看| 国产精品一区二区无线| 亚洲国产精品一区二区久久恐怖片| 久久综合久久综合久久| 欧美久久久久久久久| av资源网一区| 久久精品国产99国产| 香港成人在线视频|