试题详情

试题内容

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。
咖啡
价格/杯
配  料
价格/份
蒸馏咖啡(Espresso)
25
摩卡(Mocha)
10
深度烘焙咖啡(DarkRoast)
20 奶泡(Whip)
8
现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图6-1所示的类图

【Java代码】
import java.util.*;
(1) class Beverage {    //饮料
String description = "Unknown Beverage";
public   (2)  (){return description;}
public   (3)  ;
}

abstract class CondimentDecorator extends Beverage {  //配料
(4)  ;
}

class Espresso extends Beverage {    //蒸馏咖啡
private final int ESPRESSO_PRICE = 25;
public Espresso() {   description="Espresso";  }
public int cost() {   return ESPRESSO_PRICE;   }
}

class DarkRoast extends Beverage {  //深度烘焙咖啡
private finalint DARKROAST_PRICE = 20;
public DarkRoast0 { description = "DarkRoast";   }
public int cost(){ rcturn DARKROAST PRICE;   }
}
class Mocha extends CondimentDecorator {  //摩卡
private final int MOCHA_PRICE = 10;
public Mocha(Beverage beverage) {
this.beverage = beverage;
}

public String getDescription() {
return beverage.getDescription0 + ", Mocha";
}
public int cost() {
return MOCHA_PRICE + beverage.cost();
}
}

class Whip extends CondimentDecorator {   //奶泡
private finalint WHIP_PRICE = 8;
public Whip(Beverage beverage) { this.beverage = beverage; }
public String getDescription() {
return beverage.getDescription()+", Whip";
}
public int cost() { return WHIP_PRICE + beverage.cost(); }
}

public class Coffee {
public static void main(String args[]) {
Beverage beverage = new DarkRoast();
beverage=new Mocha(  (5)  );
beverage=new Whip (  (6)  ) ;
System.out.println(beverage.getDescription0 +"¥" +beverage.cost());
}
}
编译运行上述程序,其输出结果为:
DarkRoast, Mocha, Whip ¥38
查看答案

软题库参考答案:暂时没有答案(仅供参考)

软题库解析:正在加载....

你可能感兴趣的试题

2题:阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某物流公司为了整合上游供应商与下游客户,缩短物流过程,降低产品库存,需要构建一个信息系统以方便管理其业务运作活动。
【需求分析结果】
(1)物流公司包含若干部门,部门信息包括部门号、部门名称、经理、电话和邮箱。一个部门可以有多名员工处理部门的日常事务,每名员工只能在一个部门工作。每个部门有一名经理,只需负责管理本部门的事务和人员。
(2)员工信息包括员工号、姓名、职位、电话号码和工资;其中,职位包括:经理、业务员等。业务员根据托运申请负责安排承运货物事宜,例如:装货时间、到达时间等。一个业务员可以安排多个托运申请,但一个托运申请只由一个业务员处理。
(3)客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银行账号,其中,客户号唯一标识客户信息的每一个元组。每当客户要进行货物托运时,先要提出货物托运申请。托运申请信息包括申请号、客户号、货物名称、数量、运费、出发地、目的地。其中,一个申请号对应唯一的一个托运申请;一个客户可以有多个货物
5题:

试题五
阅读下列说明和C函数代码,将应填入  (n)  处的字句写在的对应栏内。
[说明]
对二叉树进行遍历是二叉树的一个基本运算。遍历是指按某种策略访问二叉树的每个节点,且每个节点仅访问一次的过程。函数InOrder()借助栈实现二叉树的非递归中序遍历运算。
设二叉树采用二叉链表存储,节点类型定义如下:
typedef struct BtNode{
ElemType data;    /*节点的数据域,ElemType的具体定义省略*/
struct BtNode * lchild * rchild;  /*节点的左、右孩子指针域*/
}BtNode,*BTree;
在函数InOrder()中,用栈暂存二叉树中各个节点的指针,并将栈表示为不含头节点的单向链表(简称链栈),其节点类型定义如下:
typedef struct StNode{    /*链栈的节点类型*/
BTree elem; &nbs
1题:

阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某巴士维修连锁公司欲开发巴士维修系统,以维护与维修相关的信息。该系统的主要功能如下:
1)记录巴士ID和维修问题。巴士到车库进行维修,系统将巴士基本信息和ID记录在巴士列表文件中,将待维修机械问题记录在维修记录文件中,并生成维修订单。
2)确定所需部件。根据维修订单确定维修所需部件,并在部件清单中进行标记。
3)完成维修。机械师根据维修记录文件中的待维修机械问题,完成对巴士的维修,登记维修情况:将机械问题维修情况记录在维修记录文件中,将所用部件记录在部件清单中,并将所用部件清单发送给库存管理系统以对部件使用情况进行监控。巴土司机可查看已维修机械问题。
4)记录维修工时。将机械师提供的维修工时记录在人事档案中,将维修总结发送给主管进行绩效考核。
5)计算维修总成本。计算部件清单中实际所用部件、人事档案中所用维修工时的总成本;将维修工时和所用部件成本详细信息给会计进行计费。
现采用结构化方法对巴士维修系统进行分
2题:阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某省针对每年举行的足球联赛,拟开发一套信息管理系统,以方便管理球队、球员、主教练、主裁判、比赛等信息。
【需求分析】
(1)系统需要维护球队、球员、主教练、主裁判、比赛等信息。
球队信息主要包括:球队编号、名称、成立时间、人数、主场地址、球队主教练。
球员信息主要包括:姓名、身份证号、出生日期、身高、家庭住址。
主教练信息主要包括:姓名、身份证号、出生日期、资格证书号、级别。
主裁判信息主要包括:姓名、身份证号、出生日期、资格证书号、获取证书时间、级别。
(2)每支球队有一名主教练和若干名球员。一名主教练只能受聘于一支球队,一名 球员只能效力于一支球队。每支球队都有自己的唯一主场场地,且场地不能共用。
(3)足球联赛采用主客场循环制,一周进行一轮比赛,一轮的所有比赛同时进行。
(4)一场比赛有两支球队参加,一支球队作为主队身份、另一支作为客队身份参与 比赛。一场比赛只能有一名主裁判,每场比赛有唯一的比
6题:

试题六
阅读下列说明和C++代码,将应填入  (n)  处的字句写在对应栏内。
【说明】
已知某类库开发商提供了一套类库,类库中定义了Application类和Document类,它们之间的关系如下图所示。其中,Application类表示应用程序自身,而Document类则表示应用程序打开的文档。Application类负责打开一个已有的以外部形式存储的文档,如一个文件,一旦从该文件中读出信息后,它就由一个Document对象表示。
当开发一个具体的应用程序时,开发者需要分别创建自己的Application和Document子类,例如上图中的类MyApplication和类MyDocument,并分别实现Application和 Document类中的某些方法。
已知Application类中的openDocument方法采用了模板方法(Template Method)设计模式,该方法定义了打开文档的每一个主要步骤,如下所示:
2题:

试题二
阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。
【说明】
某宾馆拟开发一个宾馆客房预订子系统,主要是针对客房的预订和入住等情况进行管理。
【需求分析结果】
1.员工信息主要包括:员工号、姓名、出生年月、性别、部门、岗位、住址、联系电话和密码等信息。岗位有管理和服务两种。岗位为“管理”的员工可以更改(添加、删除和修改)员工表中本部门员工的岗位和密码,要求将每一次更改前的信息保留;岗位为“服务”的员工只能修改员工表中本人的密码,且负责多个客房的清理等工作。
2.部门信息主要包括:部门号、部门名称、部门负责人、电话等信息。一个员工只能属于一个部门,一个部门只有一位负责人。
3.客房信息包括:客房号、类型、价格、状态等信息。其中类型是指单人间、三人间、普通标准间、豪华标准间等;状态是指空闲、入住和维修。
4.客户信息包括:身份证号、姓名、性别、单位和联系电话。
5.客房预定情况包括:客房号、预定日期、预定入住日期、预定入住天数、身份证号等信息。一条预定信息必须且仅对应一位客户,