首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图17—7所示。 采用状态(State)模式来实现该纸巾售卖机,
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图17—7所示。 采用状态(State)模式来实现该纸巾售卖机,
admin
2014-11-13
23
问题
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图17—7所示。
采用状态(State)模式来实现该纸巾售卖机,得到如图17-8所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState31HasQuarterState分别对应图17—7中纸巾售卖机的4中状态:售出纸巾、纸巾售完、没有投币、有2元钱。
[Java代码]
ImportJava.util.*
interfaceState{
PublicvoidinsertQuarter();//投币
publicvoidejectQuarter();//退币
DublicvoidturnCrank();//按下“出纸巾”按钮
publicvoiddispense();//出纸巾
}
ClasSTiSsueMachine{
(1)soldOutState,noQuarterState,hasQuarterSta七e,soldState,state;
State=s01dOutState;
intcount:0;//纸巾数
DublicTissueMachine(intnumber)(/*实现代码省略*/)
publicStategetHasQuarterState()(returnhasQuarterState;)
publicStategetNoQuarterState()(returnnoQuarterState;)
publicStategetSoldState()(returnsoldState;)
publicStategetSoldoutState()(returnsoldOutState;)
intgetCount(returncount;)
//其余代码省略
};
ClassNoQuarterStateimplementState{
TiSsueMachinetiSsueMachine;
publicvoidinsertQuarter(){
tissureMachine.setState((2));
}
//构造方法以及其余代码省略
}
ClassHasQuarterStateimplementState{
TissueMachinetissueMachine;
publiCvoidejectQuarter(){
tiSsureMachine.setState((3));
}
//构造方法以及其余代码省略
}
ClasSSoldStateimplementState(
TissueMachinetiSsueMachine:
publicvoiddispense()(
if(tiSsueMachine.getCount()>0){
tiSsureMachine.setState((4));
}
e1Se{
tissureMachine.setState((5));
}
}
选项
答案
(1)State (2)tissueMachine.getHasQuarterState()或newHasQuarterState()或tissueMachine.HasQuarterState() (3)tissueMachine.getNoQuarterState()或newNoQuarterState()或tissueMachine.NoQuarterState() (4)tissueMachine.getNoQuarterState()或newNoQuarterState()或tissueMachine.NoQuarterState() (5)tissueMachine.getSoldOutState()或newSoldOutState()或tissueMachine.SoldOutState()
解析
(1)根据题意,本题使用的是状态模式,判断纸巾售卖机的状态,根据不同的状态执行不同的动作。State定义了纸巾售卖机所对应的一些状态,售出纸巾、纸巾售完等状态。类SoldOutState、NoQuarterState、HasQuarterState、SoldState均有类State派生而来。(2)publicvoidinsertQuarter0定义了一个“投币”的方法:在没有“2元钱”时,客户投币的方法。tissureMachine.setState是改变纸巾售卖机的状态,此时,客户已投入2元钱,故将此时的状态改为“有2元钱”的状态,纸巾售卖机调用“有2元钱”状态的方法即可。(3)publicvoidejectQuarter()定义了一个“退币”的方法:在有2元钱的状态下,用户按下退币按钮,纸巾售卖机将此时的状态改为“没有投币”状态,故直接调用NoQuarterState{}即可。(4)根据纸巾售卖机状态图可知,当售出纸巾,并且纸巾数量仍大于0时,将返回“没有投币”状态,同第(3)小题的分析,此处应调用NoQuarterState()。(5)根据纸巾售卖机状态图可知,当售出纸巾,并且纸巾数量等于O时,将返回“纸巾售完”状态,此处用了if.“else…判断语句,当纸巾数量仍大于0时,返回“没有投币”状态,否则,纸巾数量一定等于0,本段程序第(5)空是else下的一条语句,故此处是判断count为0时,纸巾售卖机的状态,显然,应调用SoldOutState。
转载请注明原文地址:https://kaotiyun.com/show/QpDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。为上
某交换机的配置命令如下,根据命令后面的注释,填写(1)~(3)处的空缺内容,完成配置命令。Switch(config)#(1)//将交换机命名为Sw1Swl(config)#interfacevlan1Swl(config
IIS安装的硬盘分区最好选用NTFS格式,是因为(1)和(2)。A.可以针对某个文件或文件夹给不同的用户分配不同的权限B.可以防止网页中的Applet程序访问硬盘中的文件C.可以使用系统自带的文件加密系统对文件或文件夹进行加密
阅读以下说明,回答问题1至问题6。【说明】某公司在WindowsServer2003中安装IIS6.0来配置Web服务器,域名为www.abc.com。
在“管理工具”中运行“管理IP筛选器列表”,创建一个名为“SNMP消息”的筛选器。在如图12-3所示的“IP筛选器向导”中指定IP通信的源地址,下拉列表框中应选择(1);在如图12-4中指定IP通信的目标地址,下拉列表框中应选择(2)。在图
在“管理工具”中运行“管理IP筛选器列表”,创建一个名为“SNMP消息”的筛选器。在如图12-3所示的“IP筛选器向导”中指定IP通信的源地址,下拉列表框中应选择(1);在如图12-4中指定IP通信的目标地址,下拉列表框中应选择(2)。在图
阅读以下关于Linux网关安装和配置过程的说明,回答问题1至问题5。【说明】当局域网中存在大量计算机时,根据业务的不同,可以将网络分成几个相对独立的子网。图12-2是某公司子网划分的示意图,整个网络被均分为销售部和技术部两个子网,子网之间通过一台
阅读以下说明,回答问题1至问题4。【说明】图5-1是VLAN配置的结构示意图。
从网络拓扑图中可以看出该校园网采用了分层设计结构,回答以下问题:1.交换机按照所处的层次和完成的功能分为三种类型:核心交换机、汇聚交换机和接入交换机。下表是学校采购的三种交换机,请根据交换机的技术指标确定交换机的类型。在答题纸对应的解答栏内
随机试题
下列各项中,根据《营业税暂行条例》规定应征收营业税的有()。
下列《氓》中句子表现“氓”狡猾多变性格的一项是()
甘温质润,长于补血,为补血之圣药的是
地高辛的t1/2=33小时,按每日给予治疗量,问血药浓度何时达到稳态
人们在购买决策过程中,可能扮演不同的角色,()是首先提出或有意购买某一产品或服务的人。
竣工验收委员会或验收小组,应由()部门组成。
下列施工承包合同形式中,承包商承担全部工作量和价格风险的是()。
教育专著《大教学论》的作者是()
计算下列三重积分:(Ⅰ)I=(x+y+z)dV,Ω是由x2+y2≤z2,0≤z≤h所围的区域;(11)I=(x2+y2)dxdydz,其中Ω是由曲线(0≤y≤z,a>0,a≠1)绕z轴旋转一周所成的曲面与平面z=a2所围成的区域。
【S1】【S3】
最新回复
(
0
)