ssd3实验完全答案解析一,二_第1页
ssd3实验完全答案解析一,二_第2页
ssd3实验完全答案解析一,二_第3页
ssd3实验完全答案解析一,二_第4页
ssd3实验完全答案解析一,二_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论