试题详情

试题内容

阅读下列说明和Java代码,将应填入 (n)  处的字句写在答题纸的对应栏内。
【说明】
某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各种促销活动,如打折、返利(例如,满300返100)等等。现采用策略(Strategy)模式实现该要求,得到如图6-1所示的类图。

图6-1 策略模式类图
【Java代码】
import java.util.*;
enum TYPE { NORMAL, CASH_DISCOUNT, CASH_RETURN};
interface CashSuper {
public   (1)  ;
}
class CashNormal implements CashSuper{    // 正常收费子类
public double accptCash(double money){
return money;
}
}
class CashDiscount implements CashSuper {
private double moneyDiscount;                   // 折扣率
public CashDiscount(double moneyDiscount) {
this moneyDiscount = moneyDiscount;
}
public double acceptCash(double money) {
return money* moneyDiscount;
}
}
class CashReturn implements CashSuper {               // 满额返利
private double moneyCondition;
private double moneyReturn;
public CashReturn(double moneyCondition, double moneyReturn) {
this.moneyCondition =moneyCondition;     // 满额数额
this.moneyReturn =moneyReturn;           // 返利数额
}
public double acceptCash(double money) {
double result = money;
if(money >= moneyCondition )
result=money-Math.floor(money/moneyCondition ) * moneyReturn;
return result;
}
}
class CashContext_{
private CashSuper cs;
private TYPE  t;
public CashContext(TYPE t)  {
switch(t){
case NORMAL:    // 正常收费
(2) ;
break;
case CASH_DISCOUNT:       // 打8折
(3) ;
break;
case CASH_RETURN:     // 满300返100
(4) ;
break;
}
}
public double GetResult(double money) {
(5)   ;
}
//此处略去main()函数
}
查看答案

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

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

你可能感兴趣的试题

1题:

试题一
阅读以下说明和图,回答问题1至问题3,将解答填入对应栏内。
[说明]
某时装邮购提供商拟开发订单处理系统,用于处理客户通过电话、传真、邮件或Web站点所下订单。其主要功能如下:
(1)增加客户记录。将新客户信息添加到客户文件,并分配一个客户号以备后续使用。
(2)查询商品信息。接收客户提交的商品信息请求,从商品文件中查询商品的价格和可订购数量等商品信息,返回给客户。
(3)增加订单记录。根据客户的订购请求及该客户记录的相关信息,产生订单并添加到订单文件中。
(4)产生配货单。根据订单记录产生配货单,并将配货单发送给仓库进行备货;备好货后,发送备货就绪通知。如果现货不足,则需向供应商订货。
(5)准备发货单。从订单文件中获取订单记录,从客户文件中获取客户记录,并产生发货单。
(6)发货。当收到仓库发送的备货就绪通知后,根据发货单给客户发货;产生装运单并发送给客户。
(7)创建客户账单。根据订单文件中的订单记录和客户文件中的客户记录,产生并发送客户账单,同时更新商品文件中的商
2题:

[试题2]
阅读下列说明和图,回答下列问题。
[说明]
某会议策划公司为了方便客户,便于开展和管理各项业务活动,需要构建一个基于网络的会议预定系统。
[需求分析]
1.会议策划公司设有受理部、策划部和其他部门。部门信息包括部门号、部门名称、部门主管、电话和邮箱号。每个部门有多名员工处理部门的日常事务,每名员工只能在一个部门工作。每个部门有一名主管负责管理本部门的事务和人员。
2.员工信息包括员工号、姓名、部门号、职位、联系方式和工资;其中,职位包括主管、业务员、策划员等。业务员负责受理会议申请。若申请符合公司规定,则置受理标志并填写业务员的员工号。策划部主管为已受理的会议申请制定策划任务,包括策划内容、参与人数、要求完成时间等。一个已受理的会议申请对应一个策划任务,一个策划任务只对应一个已受理的会议申请,但一个策划任务可由多名策划员参与执行,且一名策划员可以参与多项策划任务。
3.客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银行账号。其中,一个客户号唯一标识一个客户。一个客户可以提交多
4题:

试题:4
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
计算一个整数数组a的最长递增子序列长度的方法描述如下:
假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i ;其中b[i]满足最优子结构,可递归定义为:


【C代码】
下面是算法的C语言实现。
(1)常量和变量说明
a:长度为n的整数数组,待求其最长递增子序列
b:长度为n的数组,b[i]记录以a[i](0≤i
5题:阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQL Server和Access两种数据库以及系统中的数据库表Department为例,其类图如图5-1所示。

图5-1 类图
【C++代码】
#include
using namespace std;

class Department{/*代码省略*/};
class IDepartment{
public:
(1)    =0;
(2)    =0;
};

class SqlserverDepartment:(3){
pub
2题:

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

试题二
阅读下列说明,回答问题1至问题3。
[说明]
某公司拟开发一多用户电子邮件客户端系统,部分功能的初步需求分析结果如下: 邮件客户端系统支持多个用户,用户信息主要包括用户名和用户密码,且系统中的用户名不可重复。
邮件账号信息包括邮件地址及其相应的密码,一个用户可以拥有多个邮件地址 (如userl@123.com)。
一个用户可拥有一个地址簿,地址簿信息包括联系人编号、姓名、电话、单位地址、邮件地址1、邮件地址2、邮件地址3等信息。地址簿中一个联系人只能属于一个用户,且联系人编号唯一标识一个联系人。
一个邮件账号可以含有多封邮件,一封邮件可以含有多个附件。邮件主要包括邮件号、发件人地址、收件人地址、邮件状态、邮件主题、邮件内容、发送时间、接收时间。其中,邮件号在整个系统内唯一标识一封邮件,邮件状态有已接收、待发送、已发送和已删除4种,分别表示邮件是属于收件箱、发件箱、已发送箱和废件箱。一封邮件可以发送给多个用户。附件信息主要包括附件号、附件文件名、附件大小。一个附件只属于一封邮件,附件号仅在一封邮件内唯一