首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图10.37所示。 采用状态(State)模式来
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图10.37所示。 采用状态(State)模式来
admin
2018-07-25
57
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1、问题2和问题3,将解答填入对应栏内。[说明]在因特网的发展过程中,WWW(WorldWideWeb)和域名服务系统(DNS)两项技术起了重大的推动作用,在域名服务系统(DNS)出现之前,所有的因特网主机名都存储
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。网络安全策略设计的重要内容之一是:确定当网络安全受到威胁时应采取的应急措施。当发现当前网络受到非法入侵与攻击时,所能采取的行动基本上有①保护方式和②跟
阅读以下关于以快速原型模型开发网管软件系统时的项目进度管理的叙述,回答问题1至问题5。【说明】某网络程序软件开发公司承接某项网络工程的网络流量统计管理软件开发任务。在进行可行性研究时,需要估算完成项目的时间进度。由于该软件公司近年来已经为采用快速
阅读以下-基于代理服务器的ADSL宽带接入的技术说明,根据要求回答问题1至问题5。【说明】非对称数字用户线(AsymmetricDigitalSubscriberLine,ADSL)是一种利用现有的传统电话线路高速传输数字信息的技术。某单位
阅读以下说明然后完成问题1、问题2、问题3、问题4,把答案填入相应的对应栏内。[说明]如图10-1是Cisco1900交换机划分为两个vain拓扑图,把E0/10划分为vlan2,把E0/20划分为vlan3。[*]
在如图1-23所示的网络拓扑结构图中,被路由协议可以使封装后的数据包通过互连网络进行中继传输,它由(1)使用。【供选择的答案】A.PCIB.RouterA和RouterBC.Internet网D.Rcrate
阅读以下说明,将应填入(n)处的解答填写在对应栏内。【说明】某网络结构如图5-7所示,如果Router3与网络4之间的线路突然中断,按照RIP路由协议的实现方法,路
如何根据网络流量选择联网设备,给出所选设备的作用。如何规划防火墙,将内部业务服务器和部分PC机与Internet隔离?
结合图7-18所示的网络拓扑结构图,将以下路由器R1配置信息中(1)~(9)空缺处的内容填写完整,实现路由器R1的正确配置。Router>en(进入特权模式)Router#
随机试题
对县级以上地方各级人民政府工作部门的具体行政行为不服的,关于复议机关,下列说法中正确的是()。
公犬,频频排尿,努责,排尿困难;有血尿。x线拍片检查显示膀胱中有高密度阴影。手术治疗选腹中线切口,需依次切开与分离皮肤、皮下组织和
土地权利转移较常见的具体服务内容有()。
农业资本有机构成()社会平均资本有机构成是绝对地租形成的条件。
下列关于新进入者进入壁垒的说法,正确的有()。
旅游法律行为的实质要件包括()。
龙门石窟以奉先寺石窟最为著名,敦煌石窟以莫高窟最为著名,云冈石窟以昙曜五窟最为著名。()
在Linux网络配置中,可以通过运行(33)命令来设置主机名字,在不使用DNS和NIS进行地址解析时,为保证解析器能找到主机的IP地址,必须将所使用的主机名字写入(34)文件中,解析器的功能是(35);Linux中提供名字服务的程序是(36);文件“hos
下列数中,值最大的是
Exerciseisoneofthefewfactorswithapositiveroleinlongtermmaintenanceofbodyweight.Unfortunately,thatmessagehas
最新回复
(
0
)