版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.ImplementingtheGourmetCoffeeSystem代码publicclassProduct{privateStringcode;privateStringdescription;感谢阅读privatedoubleprice;publicProduct(StringinitialCode,StringinitialDescription,doubleinitialPrice){感谢阅读this.code=initialCode;this.description=initialDescription;感谢阅读this.price=initialPrice;感谢阅读}publicStringgetCode(){returncode;}publicStringgetDescription(){感谢阅读returndescription;}.publicdoublegetPrice(){精品文档放心下载returnprice;}publicbooleanequals(Objectobject){return(objectinstanceofProduct)感谢阅读&&((Product)object).getCode()==this.getCode();谢谢阅读}publicStringtoString(){感谢阅读returngetCode()+"_"+getDescription()+"_"+getPrice();感谢阅读}}publicclassCoffeeextendsProduct{精品文档放心下载privateStringorigin;privateStringroast;privateStringflavor;.privateStringaroma;privateStringacidity;privateStringbody;publicCoffee(StringinitialCode,StringinitialDescription,doubleinitialPrice,StringinitialOrigin,StringinitialRoast,StringinitialFlavor,StringinitialAroma,StringinitialAcidity,StringinitialBody){谢谢阅读super(initialCode,initialDescription,initialPrice);this.origin=initialOrigin;this.roast=initialRoast;谢谢阅读this.flavor=initialFlavor;感谢阅读this.aroma=initialAroma;精品文档放心下载this.acidity=initialAcidity;感谢阅读this.body=initialBody;}publicStringgetOrigin(){谢谢阅读returnorigin;}publicStringgetRoast(){感谢阅读.returnroast;}publicStringgetFlavor(){谢谢阅读returnflavor;}publicStringgetAroma(){感谢阅读returnaroma;}publicStringgetAcidity(){精品文档放心下载returnacidity;}publicStringgetBody(){returnbody;}publicStringtoString(){精品文档放心下载returngetCode()+"_"+getDescription()+"_"+getPrice()+"_"谢谢阅读.+getOrigin()+"_"+getRoast()+"_"+getFlavor()+"_"感谢阅读+getAroma()+"_"+getAcidity()+"_"+getBody();谢谢阅读}}publicclassCoffeeBrewerextendsProduct{谢谢阅读privateStringmodel;privateStringwaterSupply;谢谢阅读privateintnumberOfCups;publicCoffeeBrewer(StringinitialCode,StringinitialDescription,谢谢阅读doubleinitialPrice,StringinitialModel,谢谢阅读StringinitialWaterSupply,intinitialNumberOfCups){super(initialCode,initialDescription,initialPrice);this.model=initialModel;精品文档放心下载this.waterSupply=initialWaterSupply;this.numberOfCups=initialNumberOfCups;精品文档放心下载}.publicStringgetModel(){谢谢阅读returnmodel;}publicStringgetWaterSupply(){谢谢阅读returnwaterSupply;}publicintgetNumberOfCups(){谢谢阅读returnnumberOfCups;}publicStringtoString(){精品文档放心下载returngetCode()+"_"+getDescription()+"_"+getPrice()+"_"精品文档放心下载+ getModel() + "_" + getWaterSupply()+ "_" +精品文档放心下载getNumberOfCups();}}.publicclassOrderItem{Productproduct;privateintquantity;publicOrderItem(ProductinitialProduct,intinitialQuantity){duct=initialProduct;感谢阅读this.quantity=initialQuantity;谢谢阅读}publicProductgetProduct(){谢谢阅读returnproduct;}publicintgetQuantity(){感谢阅读returnquantity;}publicvoidsetQuantity(intnewQuantity){this.quantity=newQuantity;精品文档放心下载}.publicdoublegetValue(){谢谢阅读returnproduct.getPrice()*this.getQuantity();感谢阅读}publicStringtoString(){谢谢阅读returngetQuantity()+""+product.getCode()+""谢谢阅读+product.getPrice();}}importjava.util.ArrayList;精品文档放心下载importjava.util.Iterator;感谢阅读publicclassCatalogimplementsIterable<Product>{privateArrayList<Product>products;感谢阅读publicCatalog(){products=newArrayList<Product>();精品文档放心下载}.publicvoidaddProduct(Productproduct){products.add(product);谢谢阅读}publicIterator<Product>getProductsIterator(){returnproducts.iterator();谢谢阅读}publicProductgetProduct(Stringcode){for(Productpro:products){感谢阅读if(pro.getCode().equals(code))谢谢阅读returnpro;}returnnull;}publicintgetNumberOfProducts(){感谢阅读returnproducts.size();}publicIterator<Product>iterator(){谢谢阅读.returnthis.getProductsIterator();感谢阅读}}importjava.util.ArrayList;谢谢阅读importjava.util.Iterator;谢谢阅读publicclassOrderimplementsIterable<OrderItem>{privateArrayList<OrderItem>items;精品文档放心下载publicOrder(){items=newArrayList<OrderItem>();感谢阅读}publicvoidaddItem(OrderItemorderItem){items.add(orderItem);谢谢阅读}publicvoidremoveItem(OrderItemorderItem){谢谢阅读.items.remove(orderItem);}publicIterator<OrderItem>getItemsIterator(){returnitems.iterator();谢谢阅读}publicOrderItemgetItem(Productproduct){for(OrderItemord:items){感谢阅读if(ord.getProduct().equals(product))精品文档放心下载returnord;}returnnull;}publicintgetNumberOfItems(){谢谢阅读returnitems.size();}publicIterator<OrderItem>iterator(){精品文档放心下载.returnthis.getItemsIterator();感谢阅读}publicdoublegetTotalCost(){感谢阅读doubletotalCost=0;for(OrderItemord:items){精品文档放心下载totalCost+=ord.getValue();精品文档放心下载}returntotalCost;}}importjava.util.ArrayList;精品文档放心下载importjava.util.Iterator;精品文档放心下载publicclassSalesimplementsIterable<Order>{privateArrayList<Order>orders;publicSales(){谢谢阅读orders=newArrayList<Order>();感谢阅读.}publicvoidaddOrder(Orderorder){谢谢阅读orders.add(order);}publicIterator<Order>getOrdersIterator(){returnorders.iterator();谢谢阅读}publicintgetNumberOfOrders(){谢谢阅读returnorders.size();}publicIterator<Order>iterator(){精品文档放心下载returnorders.iterator();}}importjava.io.*;.importjava.text.*;/**Thisclassimplementsagourmetcoffeesystem.感谢阅读@authorauthorname@version1.1.0@seeProduct@seeCoffee@seeCoffeeBrewer@seeCatalog@seeOrderItem@seeOrder*/publicclassGourmetCoffee{感谢阅读privatestaticBufferedReaderstdIn=精品文档放心下载newBufferedReader(newInputStreamReader(System.in));privatestaticPrintWriterstdOut=感谢阅读newPrintWriter(System.out,true);精品文档放心下载privatestaticPrintWriterstdErr=感谢阅读newPrintWriter(System.err,true);感谢阅读.privatestaticfinalNumberFormatCURRENCY=NumberFormat.getCurrencyInstance();精品文档放心下载privateCatalogcatalog;privateOrdercurrentOrder;谢谢阅读privateSalessales;/**Loadsdataintothecatalogandstartstheapplication.感谢阅读@paramargsStringarguments.Notused.谢谢阅读@throwsIOExceptionifthereareerrorsintheinput.*/感谢阅读publicstaticvoidmain(String[]args)throwsIOException{谢谢阅读GourmetCoffeeapplication=newGourmetCoffee();application.run();精品文档放心下载}/**.Constructsa<code>GourmetCoffee</code>objectand感谢阅读initializesthecatalogandsalesdata.感谢阅读*@paraminitialCatalogaproductcatalog*/感谢阅读privateGourmetCoffee(){this.catalog=loadCatalog();谢谢阅读this.sales=loadSales(this.catalog);精品文档放心下载this.currentOrder=newOrder();谢谢阅读}/**Createsanemptycatalogandthenaddproductstoit.谢谢阅读@returnaproductcatalog*/privateCatalogloadCatalog(){感谢阅读Catalogcatalog=newCatalog();感谢阅读catalog.addProduct(newCoffee(精品文档放心下载."C001","Colombia,Whole,1lb",17.99,谢谢阅读"Colombia","Medium","RichandHearty","Rich","Medium","Full"));感谢阅读catalog.addProduct(newCoffee(精品文档放心下载"C002","Colombia,Ground,1lb",18.75,谢谢阅读"Colombia","Medium","RichandHearty","Rich","Medium","Full"));谢谢阅读catalog.addProduct(newCoffee(感谢阅读"C003","ItalianRoasts,Whole,1lb",16.80,精品文档放心下载"LatinAmericanBlend","ItalianRoast","Darkandheavy","Intense","Low","Medium"));catalog.addProduct(newCoffee(感谢阅读"C004","ItalianRoasts,Ground,1lb",17.55,感谢阅读"LatinAmericanBlend","ItalianRoast","Darkandheavy","Intense","Low","Medium"));catalog.addProduct(newCoffee(感谢阅读"C005","FrenchRoasts,Whole,1lb",16.80,精品文档放心下载"LatinAmericanBlend","FrenchRoast","Bittersweet,fullintense",精品文档放心下载"Intense,full","None","Medium"));catalog.addProduct(newCoffeeBrewer("B001","HomeCoffeeBrewer",150.00,感谢阅读."Brewer100","Pourover",6));catalog.addProduct(newCoffeeBrewer("B002","CoffeeBrewer,2Warmers",200.00,"Brewer200","Pourover",12));catalog.addProduct(newCoffeeBrewer("B003","CoffeeBrewer,3Warmers",280.00,"Brewer210","Pourover",12));感谢阅读catalog.addProduct(newProduct("A001","AlmondFlavoredSyrup",9.00));catalog.addProduct(精品文档放心下载newProduct("A002","IrishCremeFlavoredSyrup",9.00));catalog.addProduct(感谢阅读newProduct("A003","MintFlavoredsyrup",9.00));catalog.addProduct(感谢阅读newProduct("A004","CaramelFlavoredSyrup",9.00));catalog.addProduct(谢谢阅读newProduct("A005","GourmetCoffeeCookies",12.00));精品文档放心下载returncatalog;}./**Initializesthesalesobject.*/感谢阅读privateSalesloadSales(Catalogcatalog){精品文档放心下载Salessales=newSales();谢谢阅读Order[]orders=newOrder[6];谢谢阅读orders[0]=newOrder();orders[0].addItem(newOrderItem(catalog.getProduct("C001"),5));sales.addOrder(orders[0]);精品文档放心下载orders[1]=newOrder();orders[1].addItem(newOrderItem(catalog.getProduct("C002"),2));orders[1].addItem(new谢谢阅读OrderItem(catalog.getProduct("A001"),2));orders[1].addItem(new谢谢阅读OrderItem(catalog.getProduct("A003"),2));sales.addOrder(orders[1]);精品文档放心下载.orders[2]=newOrder();orders[2].addItem(newOrderItem(catalog.getProduct("B002"),1));orders[2].addItem(new谢谢阅读OrderItem(catalog.getProduct("A003"),3));sales.addOrder(orders[2]);感谢阅读orders[3]=newOrder();orders[3].addItem(newOrderItem(catalog.getProduct("B003"),2));orders[3].addItem(new谢谢阅读OrderItem(catalog.getProduct("C001"),3));orders[3].addItem(new精品文档放心下载OrderItem(catalog.getProduct("C003"),3));orders[3].addItem(new感谢阅读OrderItem(catalog.getProduct("C005"),3));orders[3].addItem(new精品文档放心下载OrderItem(catalog.getProduct("A001"),3));orders[3].addItem(new感谢阅读OrderItem(catalog.getProduct("A004"),2));sales.addOrder(orders[3]);精品文档放心下载.orders[4]=newOrder();orders[4].addItem(newOrderItem(catalog.getProduct("B001"),1));orders[4].addItem(new精品文档放心下载OrderItem(catalog.getProduct("C002"),2));orders[4].addItem(new精品文档放心下载OrderItem(catalog.getProduct("C003"),2));orders[4].addItem(new谢谢阅读OrderItem(catalog.getProduct("A001"),2));orders[4].addItem(new感谢阅读OrderItem(catalog.getProduct("A002"),6));sales.addOrder(orders[4]);感谢阅读orders[5]=newOrder();orders[5].addItem(newOrderItem(catalog.getProduct("B001"),1));orders[5].addItem(new谢谢阅读OrderItem(catalog.getProduct("C001"),1));orders[5].addItem(new谢谢阅读OrderItem(catalog.getProduct("C005"),5));orders[5].addItem(new感谢阅读OrderItem(catalog.getProduct("A001"),5));精品文档放心下载.orders[5].addItem(newOrderItem(catalog.getProduct("A004"),4));感谢阅读sales.addOrder(orders[5]);感谢阅读returnsales;}/*Presentstheuserwithamenuofoptionsandexecutesthe感谢阅读selectedtask.*/privatevoidrun()throwsIOException{感谢阅读intchoice=getChoice();while(choice!=0){if(choice==1){displayCatalog();}elseif(choice==2){displayProductInfo();}elseif(choice==3){.displayOrder();}elseif(choice==4){addModifyProduct();}elseif(choice==5){removeProduct();}elseif(choice==6){saleOrder();}elseif(choice==7){displayOrdersSold();}elseif(choice==8){displayNumberOfOrders(readProduct());感谢阅读}elseif(choice==9){displayTotalQuantityOfProducts();谢谢阅读}choice=getChoice();}}/*Displaysamenuofoptionsandverifiestheuser'schoice.精品文档放心下载.@returnanintegerintherange[0,7]*/精品文档放心下载privateintgetChoice()throwsIOException{精品文档放心下载intinput;do{try{stdErr.println();stdErr.print("[0]Quit\n"+"[1]Displaycatalog\n"+"[2]Displayproduct\n"+"[3]Displaycurrentorder\n"谢谢阅读+"[4]Add|modifyproductto|incurrentorder\n"精品文档放心下载+"[5]Removeproductfromcurrentorder\n"谢谢阅读+"[6]Registersaleofcurrentorder\n"谢谢阅读+"[7]Displaysales\n"+"[8]Displaynumberoforderswithaspecificproduct\n"感谢阅读+"[9]Displaythetotalquantitysoldforeachproduct\n"感谢阅读+"choice>");.stdErr.flush();input=Integer.parseInt(stdIn.readLine());感谢阅读stdErr.println();if(0<=input&&9>=input){精品文档放心下载break;}else{stdErr.println("Invalidchoice:"+input);精品文档放心下载}}catch(NumberFormatExceptionnfe){stdErr.println(nfe);精品文档放心下载}}while(true);returninput;}/**Displaysthecatalog.*/.publicvoiddisplayCatalog(){精品文档放心下载intsize=this.catalog.getNumberOfProducts();谢谢阅读if(size==0){stdErr.println("Thecatalogisempty");}else{感谢阅读for(Productproduct:this.catalog){精品文档放心下载stdOut.println(product.getCode()+""+product.getDescription());谢谢阅读}}}/**Displaystheinformationofaproduct*/精品文档放心下载publicvoiddisplayProductInfo()throwsIOException{谢谢阅读Productproduct=readProduct();精品文档放心下载.stdOut.println("Description:"+product.getDescription());谢谢阅读stdOut.println("Price:"+product.getPrice());if(productinstanceofCoffee){精品文档放心下载Coffeecoffee=(Coffee)product;感谢阅读stdOut.println("Origin:"+coffee.getOrigin());谢谢阅读stdOut.println("Roast:"+coffee.getRoast());感谢阅读stdOut.println("Flavor:"+coffee.getFlavor());精品文档放心下载stdOut.println("Aroma:"+coffee.getAroma());感谢阅读stdOut.println("Acidity:"+coffee.getAcidity());谢谢阅读stdOut.println("Body:"+coffee.getBody());}elseif(productinstanceofCoffeeBrewer){感谢阅读CoffeeBrewerbrewer=(CoffeeBrewer)product;精品文档放心下载stdOut.println("Model:"+brewer.getModel());谢谢阅读stdOut.println(" Water Supply:精品文档放心下载brewer.getWaterSupply());stdOut.println(" Number of Cups:精品文档放心下载brewer.getNumberOfCups());谢谢阅读}
"
"
++.}/**Displaysthecurrentorder.*/谢谢阅读publicvoiddisplayOrder(){精品文档放心下载intsize=this.currentOrder.getNumberOfItems();谢谢阅读if(size==0){stdErr.println("Thecurrentorderisempty");}else{谢谢阅读for(OrderItemorderItem:this.currentOrder){stdOut.println(orderItem.toString());精品文档放心下载}stdOut.println("Total:"+谢谢阅读CURRENCY.format(this.currentOrder.getTotalCost()));精品文档放心下载}}/***Modifiesthecurrentorder:ifthespecifiedproductisnot谢谢阅读.alreadypartoftheorder,itisadded;otherwise,thequantityofthe感谢阅读specifiedproductisupdated.精品文档放心下载*/publicvoidaddModifyProduct()throwsIOException{谢谢阅读Productproduct=readProduct();谢谢阅读intquantity=readQuantity();谢谢阅读OrderItemorderItem=this.currentOrder.getItem(product);谢谢阅读if(orderItem==null){this.currentOrder.addItem(newOrderItem(product,quantity));精品文档放心下载stdOut.println("Theproduct"+product.getCode()感谢阅读+"hasbeenadded");}else{orderItem.setQuantity(quantity);精品文档放心下载stdOut.println("Thequantityoftheproduct"+感谢阅读product.getCode()+"hasbeenmodified");谢谢阅读}}./**Removesaproductfromthecurrentorder.*/感谢阅读publicvoidremoveProduct()throwsIOException{感谢阅读Productproduct=readProduct();感谢阅读OrderItemorderItem=this.currentOrder.getItem(product);感谢阅读if(orderItem!=null){this.currentOrder.removeItem(orderItem);谢谢阅读stdOut.println("Theproduct"+product.getCode()感谢阅读+"hasbeenremovedfromthecurrentorder");精品文档放心下载}else{stdErr.println("Therearenoproductsinthecurrentorderwiththatcode");感谢阅读}}/**Registersthesaleofthecurrentorder.*/谢谢阅读.publicvoidsaleOrder(){if(this.currentOrder.getNumberOfItems()>0){this.sales.addOrder(this.currentOrder);this.currentOrder=newOrder();精品文档放心下载stdOut.println("Thesaleoftheorderhasbeenregistered");精品文档放心下载}else{stdErr.println("Thecurrentorderisempty");感谢阅读}}/**Displaystheordersthathavebeensold.*/精品文档放心下载publicvoiddisplayOrdersSold(){感谢阅读intnumOrders=this.sales.getNumberOfOrders();感谢阅读if(numOrders!=0){intorderNumber=1;for(Order
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急性肺炎的治疗与护理流程
- 2024-2025学年度医师定期考核高分题库及完整答案详解【夺冠】
- 2024-2025学年冶金工业技能鉴定考试彩蛋押题附答案详解(夺分金卷)
- 2024-2025学年反射疗法师大赛理论测试卷附完整答案详解【各地真题】
- 2024-2025学年度三峡电力职业学院单招《物理》考前冲刺试卷含答案详解【轻巧夺冠】
- 2024-2025学年度医院三基考试考试历年机考真题集及参考答案详解(黄金题型)
- 2024-2025学年度园林绿化作业人员考前冲刺练习附答案详解【培优B卷】
- 2024-2025学年度沪科版9年级下册期末试卷【夺冠系列】附答案详解
- 舞蹈节奏训练课件
- 电力设备厂试验流程规范
- 浙江省名校协作体2024-2025学年高三下学期联考英语试题+答案
- 2026年上饶职业技术学院单招职业技能测试模拟测试卷附答案解析
- 门窗销售考核制度
- 2026年浙江机电职业技术学院单招综合素质考试模拟试题含详细答案解析
- 黑龙江2025年黑龙江省疾病预防控制中心招聘27人笔试历年参考题库附带答案详解
- (2025年)室内装修三级安全教育试卷及答案
- 器材仓库制度规范
- 电厂设备刷漆制度规范
- 金太阳山西省名校三晋联盟2025-2026学年高三上学期12月联合考试语文(26-177C)(含答案)
- 2026年陕西航空职业技术学院单招职业适应性测试题库及完整答案详解1套
- 2025年旅游管理专升本经典真题集(附答案)
评论
0/150
提交评论