首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图10.37所示。 采用状态(State)模式来
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图10.37所示。 采用状态(State)模式来
admin
2018-07-25
61
问题
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图10.37所示。
采用状态(State)模式来实现该纸巾售卖机,得到如图10.38所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图10.37中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。
【Java代码】
Import java.util.*
interface State{
public void insertQuarter(); //投币
public void ejectQuarter(); //退币
public void turnCrank(); //按下“出纸巾”按钮
public void dispense(); //出纸巾
}
class TisSueMachime{
_____(1)soldOutState,noQuarterstate,hasQuarterState,soldState,state;
State=soldOutState;
int count=0; //纸巾数
public TissueMachine(int number){/*实现代码省略*/}
public State getHasQuarterState() {return hasQuarterState,}
public State getNOQuarterState() {return noQuarterState;}
public State getSoldState(){return soldState;}
public State getSoldOutState() {return SoldOutState;}
int getCount(return count;}
//其余代码省略
};
Class NoQuarterState implement State{
TiSsueMachime tiSsueMachime;
publiC void insertQuarter(){
tiSsueMachine.SetState(______(2));
}
//构造方法以及其余代码省略
}
Class HasQuarterState implement State {
TiSsueMachine tiSsueMachine;
public void ejectQuarter(){
tissueMachine.setState____(3);
}
//构造方法以及其余代码省略
}
Class SoldState implement State {
TissueMachine tissueMachine;
public Void dispense(){
if(tissueMachine.getCount()>0){
tissueMachine.setstate____(4);
}
else{
tissueMachine.setstate(____(5) );
}
}
}
选项
答案
(1)State (2)tissueMachine.getHasQuarterState()或new HasQuarterState()或tissueMachine.HasQuarterState() (3)tissueMachine.getNoQuarterState()或new NoQuarterState()或tissueMachine.NoQuarterState() (4)tissueMachine.getNoQuarterState()或new NoQuarterState()或tissueMachine.NoQuarterState() (5)tissueMachine.getSoldOutState()或new SoldOutState()或tissueMachine.SoldOutState()
解析
空(1):根据题意,本题使用的是状态模式,判断纸巾售卖机的状态,根据不同的状态执行不同的动作。State定义了纸巾售卖机所对应的一些状态,如售出纸巾、纸巾售完等。类SoldOutState、NoQuarterState、}tasQuarterState、SoldState均由类State派生而来。
空(2):public void insertQuarter()定义了一个“投币”的方法,即在“没有投币”状态下,用户投币的方法。tissureMachine.setState是改变纸巾售卖机的状态,此时,用户已投入2元钱,故将此时的状态改为“有2元钱”的状态,纸巾售卖机调用“有2元钱”状态的方法即可。
空(3):public void ejectQuarter()定义了一个“退币”的方法,即在“有2元钱”状态下,用户按下退币按钮,纸巾售卖机将此时的状态改为“没有投币”状态,故直接调用NoQuarterState()即可。
空(4):根据纸巾售卖机状态图可知,当售出纸巾并且纸巾数量仍大于0时,将返回“没有投币”状态。同空(3)的分析,此处应调用NoQuarterState()。
空(5):根据纸巾售卖机状态图可知,当售出纸巾并且纸巾数量等于0时,将返回“纸巾售完”状态。此处用了if…else…判断语句,当纸巾数量仍大于0时,返回“没有投币”状态,否则,纸巾数量一定等于0。空(5)处是else下的一条语句,故此处是判断count为0时纸巾售卖机的状态,显然应调用SoldOutState()。
转载请注明原文地址:https://kaotiyun.com/show/L7DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。在制定网络安全策略时有以下两种思路:①凡是没有明确表示禁止的就要被允许;②凡是没有明确表示允许的就要被禁止。这两种想法中,哪一种思路适用于部署防火墙的
请用100字以内的文字说明该网管软件项目采用快速原型开发方法的优缺点。请指出图7-15可能存在的关键路径是什么?(请用英文字母序号列出)
在配置Windows2003VPN服务器时,在管理工具中打开“路由和远程访问”,接着在所列出的本地服务器上单击鼠标右键,从弹出菜单中选择“配置并启用路由和远程访问”。在以下“路由和远程访问服务器安装向导”界面中(见图1-14),选择(1)单选按钮,接着
阅读以下在Windows2003操作系统中架构VPN的技术说明,根据要求回答问题1至问题5。【说明】某电子商务公司随着业务的不断发展,公司的员工人数也随之增加。该公司决定在技术部尝试采用虚拟公司的组织机构运行方式,仅允许员工user1~user
请指出现有虚拟局域网络的4种划分方式。以下为Cisco以太网交换机Catalyst2924(ws-c2924xlA,拥有24个10/100Mbit/s自适应端口)的VLAN划分命令,请解释(1)~(3)处的标有下划线部分配置命令的含义。(“//”后为
阅读以下说明,回答问题1~6。【说明】ADSL是接入Internet的一种宽带技术,如图2-2所示为一台带网卡的PC机采用ADSL接入Internet的网络结构图。
阅读以下说明,回答问题1~4。【说明】A公司用一台Web服务器和一台应用服务器来管理销售信息。销售人员在办公室时通过PC机来访问应用服务器,若在公司以外,则通过具有数据显示功能的移动电话或PDA(PersonalDigitalAssi
认真阅读下列有关Linux操作系统的Samba配置技术的说明,根据要求回答问题1至问题6。【说明】SMB(ServerMessageBlock,服务消息块)协议主要用于实现Windows和Linux操作系统中计算机之间共享打印机、共享串行接
为了便于用户下载相关资料,特安装一台FTP服务器,其服务器端软件是Serv-U,假如要增加一个名为CIU10009的用户,对应目录为D盘,且要求加密,在图6-4中怎么设置?假如想将某用户在设咸FTP服务器管理员,其用户名称不变,请问在“Privileg
随机试题
乙有限责任公司以人民币为记账本位币。2013年发牛如下经济业务:(1)3月1日,从境外丙公司购入不需要安装的设备一台,设备价款为500000美元,购入设备当日的即期汇率为1美元=7.60元人民币,款项尚未支付。(2)6月1日,将50000美元到银行兑换
三羧酸循环中发生底物水平磷酸化的反应是
行业风险分析框架通过()方面评价一个行业的潜在风险。
()是商业银行的决策机构。
A企业通过对应收款项的风险进行分析,决定按应收款项余额的一定比例计提坏账准备。“坏账准备”科目的年初贷方余额为4000元,“应收账款”和“其他应收款”科目的年初借方余额分别为30000元和10000元。当年,不能收回的应收账款2000元确认为坏账损
企业的银行存款日记账和银行的对账单可能不一致,即存在未达账项,产生未达账项的情形具体有()。
WhenIwasachild,Ihopedtoliveinthecity.IthinkIwouldbehappythere.NowIamlivinginacity,butImissmyhomei
针对旅游景点扔垃圾的问题,有游客说不扔垃圾环卫工人就失业了,对此你怎么看?
下列有关生活常识的说法中,正确的是:
在一个ER图中,有三个实体集E1、E2和E3,R1是E1和E2之间的一对多联系,R2是E1和E3之间的一对多联系,R3是E2和E3之间的多对多联系,R4是E1内部的多对多联系。则将该ER图转化为关系模型后,得到的关系模式个数是()。
最新回复
(
0
)