首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图10.37所示。 采用状态(State)模式来
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图10.37所示。 采用状态(State)模式来
admin
2018-07-25
50
问题
阅读下列说明和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://www.kaotiyun.com/show/L7DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某公司申请到的IP地址为193.136.99.0,如图7-4所示,为了便于管理,需建立4个子网(要求每个子网的掩码必须相同),请回答如下问题。
ISDN分哪几层?NT2(网络终端连接设备)提供哪两种交换功能?如果ISDN收费是按每分钟计算,假如0.5元/分钟,采用ISDN基本速率接口下载1024k的文件需要付费多少?
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。数据库系统存储了大量的数据,在发生意外的情况下,为了确保数据能够尽可能准确地恢复,数据库系统提供了备份和恢复的功能。通常,数据库管理系统都提供了全部数
请说出图9-1的拓扑结构名称与特点。当增加了[问题3]中的设备后(此设备设置正确,且PC3与PC2是连通的,PCI与PC3也是连通的,经测试PCI与PC2物理连接正常),但PCIPing不通PC2。请问是什么原因?
阅读以下说明,回答问题1、问题2、问题3、问题4和问题5,将解答填入对应栏内。[说明]无源光网络(PON),是指在OLT(光线路终端)和ONU(光网络单元)之间的光分配网络(ODN)没有任何有源电子设备。PON(无源光网络)技术是一种一点对
从图7-1中可以看出采用什么拓扑结构与设计方法?为了进一步简化系统,有人建议把“电脑模块”与“电话模块”合成一个模块,其传输介质共用,这可以实现吗?
将图2-2中(1)和(2)空缺名称填写在对应的解答栏内。按照G.lite的最高速率标准,上传24MB的文件需要多少秒时间?
如何根据网络流量选择联网设备,给出所选设备的作用。如何规划防火墙,将内部业务服务器和部分PC机与Internet隔离?
阅读图1所示的某企业的网络结构图,分析网络结构,回答【问题1】~【问题3】,将解答填在横线上。
结合图7-18所示的网络拓扑结构图,将以下路由器R1配置信息中(1)~(9)空缺处的内容填写完整,实现路由器R1的正确配置。Router>en(进入特权模式)Router#
随机试题
A、细菌总数≤5cfu/cm2,并未检出致病菌B、细菌总数≤10cfu/cm2,并未检出致病菌C、细菌总数≤15cfu/cm2,并未检出致病菌D、细菌总数≤20cfu/cm2,并未检出致病菌E、沙门氏菌Ⅱ类区域物品和表面消毒效果的监测结果判定消
刺激性气体中毒防治的关键是
背景资料某单位负责建设一矿井工程项目。为加快开发矿产资源,建设单位在完成施工图设计和必要的施工准备后,采取邀请招标的形式进行招标。考虑到自身对矿产开发工作并不熟悉,该建设单位通过委托招标单位进行代理招标后,向某矿山施工单位发出了邀请书,并寄发了相关的招标
冬季开挖路堑必须()开挖。
下列税金中,不应作为存货价值入账的有()。
某啤酒厂销售啤酒时,采用购买者可以免费使用啤酒储藏罐1年的优惠政策,为了保证啤酒罐按时收回,啤酒厂在提供啤酒罐时,每个啤酒罐收取2500元的押金。2018年6月,当月销售啤酒200吨,每吨不含税价格2800元,共发出免费使用啤酒罐20个。对啤酒罐押金进行审
甲、乙、丙三个工程队完成一项工作的效率比为2:3:4。某项工程,乙先做了后,余下交由甲与丙合作完成,3天后完成工作。问完成此工程共用了多少天?
关于古代刑罚制度的表述,正确的是()。
A、 B、 C、 B
A、Hebrokethelocktofreethebaby.B、Hepulledthebabyoutofthewindow.C、Hecrawledclosetothebabyontheground.D、He
最新回复
(
0
)