首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图17—7所示。 采用状态(State)模式来实现该纸巾售卖机,
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图17—7所示。 采用状态(State)模式来实现该纸巾售卖机,
admin
2014-11-13
39
问题
阅读下列说明和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)。有线
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。Ca
阅读以下说明,回答问题1至问题5。[说明]某小区采用HFC接入Internet的解决方案进行网络设计,网络结构如下图所示。
阅读以下说明,回答问题1至问题5。【说明】通过SNMP可以获得网络中各种设备的状态信息,还能对网络设备进行控制。在WindowsServer2003中可以采用IPSec来保护SNMP通信,配置管理站的操作步骤为:先创建筛选器,对输入的分组进
在校园网设计过程中,划分了很多VLAN,采用了VTP来简化管理。1.VTP信息只能在(1)端口上传播。2.运行VTP的交换机可以工作在三种模式:(2)、(3)、(4)。3.共享相同VLAN数据库的交换机构成一个(5)。该校园网采
阅读以下说明,回答问题1至问题4。【说明】图5-1是VLAN配置的结构示意图。
DHCP允许服务器向客户端动态分配Ⅲ地址和配置信息。客户端可以从DHCP服务器获得(1)。(1)A.DHCP服务器的地址B.Web服务器的地址C.DNS服务器的地址在DHCP服务器安装完成后,DHCP控制台如图3-4所示。
阅读以下说明,回答问题1至问题3。【说明】如图5-1所示,某单位通过2M的DDN专线接入广域网,该单位内网共分为三个子网。服务器放置在子网192.168.5.0/24中,财务部工作站放置在子网192.168.10.0/24,销售部工作站放置在子网
在控制面板的“添加/删除程序”对话框中选择(1),然后进入“应用程序服务器”选项,在(2)组件复选框中选择“文件传输协议(FTP)服务”,就可以在Windows2003中安装FTP服务。(1)A.更改或删除程序B.添加新程序C.添加/删除
在控制面板的“添加/删除程序”对话框中选择(1),然后进入“应用程序服务器”选项,在(2)组件复选框中选择“文件传输协议(FTP)服务”,就可以在Windows2003中安装FTP服务。(1)A.更改或删除程序B.添加新程序C.添加/删除
随机试题
引导了血液循环发现的医学模式足()。
男性,50岁,查体发现肝硬化5年。3天前进餐后,出现呕血,鲜红色,量约1000ml。患者出现头晕、心慌、出冷汗等。经输血、补液和应用止血药物治疗后病情好转,血压和心率恢复正常,1天前出现睡眠障碍,并出现幻听和言语不清。化验检查示:血氨130μg/dl,血糖
下列各项业务中,应记入“坏账准备”科目贷方的有()。
某位心理咨询师童年曾被酗酒的父亲殴打,他了解自己还不能完全解决自身的问题,因此明确规定自己不做治疗酒精依赖者的心理咨询,这体现了()。
(2017·广西)某小学英语教师在教学生记忆单词“family”时,告诉学生“family”是由“fatherandmother,Iloveyou”六个单词的首字母组成,由此,学生记住了“family”的拼写,也了解了家庭成员的构成关系。该教师在教
微信、微小说、微视频、微博等“微文化”悄然兴起,有人称为“微时代”,“微”似乎成了现代人尤其是年轻人的一种生活态度。从微博、微小说到微信,无不彰显“微文化”成为人们日常生活的有机组成部分。微电影正是在“微文化”“微时代”的背景下应运而生,其流行、传播的速度
老子曰:“爱民治国,能无知乎。”这句话的意思是:
Title:HowtoMakeaGoodSpeechinEnglish?Outline:1.TheimportanceofspeakingEnglishwellisknowntoall.2.Thechieft
Oneofthemostcriticalproblems【C1】______blackandotherminorityAmericanstodayisthedifficultyofentering【C2】______soc
Inthe1970s,manypeoplebecameconcernedaboutenergy.Peopleindevelopedcountrieshadtofaceuptothefactthattheyused
最新回复
(
0
)