首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图10.37所示。 采用状态(State)模式来
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图10.37所示。 采用状态(State)模式来
admin
2018-07-25
56
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
ADSL技术可以充分利用现有铜线网络,只要在用户线路两端加装ADSL设备即可为用户提供服务。请从以下术语选择适当的编号,将图5-9所示的拓扑结构中(1)~(4)空缺处的名称填写完整。【供选择的答案】A.程控交换机B.二层交换机
阅读以下交换机Switch01的部分配置信息,结合图2-8所示的网络拓扑图将(1)~(8)空缺处的内容(命令或解释)填写完整。Switch>enable(进入特权模式)S
在配置Windows2003VPN服务器时,在管理工具中打开“路由和远程访问”,接着在所列出的本地服务器上单击鼠标右键,从弹出菜单中选择“配置并启用路由和远程访问”。在以下“路由和远程访问服务器安装向导”界面中(见图1-14),选择(1)单选按钮,接着
请指出现有虚拟局域网络的4种划分方式。以下为Cisco以太网交换机Catalyst2924(ws-c2924xlA,拥有24个10/100Mbit/s自适应端口)的VLAN划分命令,请解释(1)~(3)处的标有下划线部分配置命令的含义。(“//”后为
如何根据网络流量选择联网设备,给出所选设备的作用。如何规划防火墙,将内部业务服务器和部分PC机与Internet隔离?
阅读以下关于RIP动态路由配置的技术说明,结合网络拓扑图回答问题1至问题3。[说明]某大学城局域网的网络拓扑结构如图7-18所示,图中路由器R1、R2,R3均运行基于距离矢量算法的RIP路由协议,并且图中给出了路由器R1、R2、R3各端口的IP地
请用蒙特卡罗错误随机植入模型估算出被测程序模块中将会遗留下多少个未被发现的隐藏错误。请简要列出计算式子及计算过程。信息部门的吴总工程师向谢工程师建议了另一种测试方案作为“错误随机植入”测试方法的补充。即由A和B两组测试人员同时相互独立地测试同一份宽带路
认真阅读下列有关Linux操作系统的Samba配置技术的说明,根据要求回答问题1至问题6。【说明】SMB(ServerMessageBlock,服务消息块)协议主要用于实现Windows和Linux操作系统中计算机之间共享打印机、共享串行接
为了便于用户下载相关资料,特安装一台FTP服务器,其服务器端软件是Serv-U,假如要增加一个名为CIU10009的用户,对应目录为D盘,且要求加密,在图6-4中怎么设置?假如想将某用户在设咸FTP服务器管理员,其用户名称不变,请问在“Privileg
随机试题
纳呆脘痞,呕恶身重,渴不多饮,大便溏,苔黄腻,应辨为
A.桃仁B.苦杏仁C.酸枣仁D.益智仁E.牵牛子呈扁心形的药材是()
需要列入会议议程,进行讨论、研究并解决的问题的文件信息属于()。
特别行政区的高度自治权包括立法权、行政管理权、独立的司法权和终审权、独立的外交权。()
以上意见,如有不当,请即批转有关单位执行。
设f(x)在[a,b]连续,则f(x)在[a,b]非负且在[a,b]的任意子区间上不恒为零是F(x)=∫axf(t)dt在[a,b]单调增加的()
采用下面的______技术可以将基于TCP/IP的大型网络分割成较小的逻辑段。
Iknowonlyalittle______computers.
WhenIwasgrowingup,Iwasembarrassedtobeseenwithmyfather.Hewasseverelycrippledandveryshort,andwhenwewouldw
FrenchDefenseMinisterMicheleAlliot-Mariesayshergovernmentis【B1】______tohelptrainIraq’spoliceandmilitarybutrules
最新回复
(
0
)