ssd3实验完整答案一二说课材料.docx
- 文档编号:25152191
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:23
- 大小:18.25KB
ssd3实验完整答案一二说课材料.docx
《ssd3实验完整答案一二说课材料.docx》由会员分享,可在线阅读,更多相关《ssd3实验完整答案一二说课材料.docx(23页珍藏版)》请在冰豆网上搜索。
ssd3实验完整答案一二说课材料
ssd3-实验完整答案-一、二
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){
this.product=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
privateArrayList
publicCatalog(){
products=newArrayList
}
publicvoidaddProduct(Productproduct){
products.add(product);
}
publicIterator
returnproducts.iterator();
}
publicProductgetProduct(Stringcode){
for(Productpro:
products){
if(pro.getCode().equals(code))
returnpro;
}
returnnull;
}
publicintgetNumberOfProducts(){
returnproducts.size();
}
publicIterator
returnthis.getProductsIterator();
}
}
importjava.util.ArrayList;
importjava.util.Iterator;
publicclassOrderimplementsIterable
privateArrayList
publicOrder(){
items=newArrayList
}
publicvoidaddItem(OrderItemorderItem){
items.add(orderItem);
}
publicvoidremoveItem(OrderItemorderItem){
items.remove(orderItem);
}
publicIterator
returnitems.iterator();
}
publicOrderItemgetItem(Productproduct){
for(OrderItemord:
items){
if(ord.getProduct().equals(product))
returnord;
}
returnnull;
}
publicintgetNumberOfItems(){
returnitems.size();
}
publicIterator
returnthis.getItemsIterator();
}
publicdoublegetTotalCost(){
doubletotalCost=0;
for(OrderItemord:
items){
totalCost+=ord.getValue();
}
returntotalCost;
}
}
importjava.util.ArrayList;
importjava.util.Iterator;
publicclassSalesimplementsIterable
privateArrayList
publicSales(){
orders=newArrayList
}
publicvoidaddOrder(Orderorder){
orders.add(order);
}
publicIterator
returnorders.iterator();
}
publicintgetNumberOfOrders(){
returnorders.size();
}
publicIterator
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();
}
/**
*ConstructsaGourmetCoffee
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(newOrderItem(catalog.getProduct("A001"),2));
orders[1].addItem(newOrderItem(catalog.getProduct("A003"),2));
sales.addOrder(orders[1]);
orders[2]=newOrder();
orders[2].addItem(newOrderItem(catalog.getProduct("B002"),1));
orders[2].addItem(newOrderItem(catalog.getProduct("A003"),3));
sales.addOrder(orders[2]);
orders[3]=newOrder();
orders[3].addItem(newOrderItem(catalog.getProduct("B003"),2));
orders[3].addItem(newOrderItem(catalog.getProduct("C001"),3));
orders[3].addItem(newOrderItem(catalog.getProduct("C003"),3));
orders[3].addItem(newOrderItem(catalog.getProduct("C005"),3));
orders[3].addItem(newOrderItem(catalog.getProduct("A001"),3));
orders[3].addItem(newOrderItem(catalog.getProduct("A004"),2));
sales.addOrder(orders[3]);
orders[4]=newOrder();
orders[4].addItem(newOrderItem(catalog.getProduct("B001"),1));
orders[4].addItem(newOrderItem(catalog.getProduct("C002"),2));
orders[4].addItem(newOrderItem(catalog.getProduct("C003"),2));
orders[4].addItem(newOrderItem(catalog.getProduct("A001"),2));
orders[4].addItem(newOrderItem(catalog.getProduct("A002"),6));
sales.addOrder(orders[4]);
orders[5]=newOrder();
orders[5].addItem(newOrderItem(catalog.getProduct("B001"),1));
orders[5].ad
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ssd3 实验 完整 答案 一二 材料