首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和JaVa代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他
阅读以下说明和JaVa代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他
admin
2014-10-11
40
问题
阅读以下说明和JaVa代码,将应填入(n)处的字句写在答题纸对应栏内。
【说明】
任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。以下是一个“剪刀石头布”游戏。猜拳时的“策略’’有2种方法:第一种是“猜赢后继续出同样的招式,(winningStrategy),第二种是“从上一次出的招式种,以概率分配方式求出下一个招式的几率”(ProbStrategy)。程序中定义了Hand类表示猜拳时的“手势”,类内部以0(石头)、1(剪刀)、2(布)来表示。Hand类的实例只会产生3个。以下是JaVa语言实现,省略了不相关属性及方法,方法实现体亦有所省略,能够正确编译通过。
【Java代码】
//Hand.Java文件
publiC class Hand{
public static final int HANDVALUE—GUU=0;/石头
public static final int HANDVALUE—CHO=1;//剪刀
public static final int HANDVALUE—PAA=2;//布
public static final Hand[]hand={
new Hand(HANDVALUE_GUU),
new Hand(HANDVALUE—CHO),
new Hand(HANDVALUE—PAA),
};
private int handvalue;
(1) Hand(int handvalue){
this.handvalue=handvalue;
}
publ ic(2)Hand getHand(int handvalue){//从值取得对象实例
return hand fhandvalue]:
}
}
//Strategy.java文件
public interface Strategy(
public (3)Hand nextHand();
}
//ProbStrategy。Java文件
import java.util.Random;
public class ProbStrategy implements Strategy(
public Hand nextHand(){
int handvalue=0;
/*省略具体实现*/
return Hand.getHand(handvalue);
}
}
//WinningStrategy.Java文件
import java/util.Random;
public class WinningStrategy implements Strategy{
/*省略了不相关属性*/
public Hand nextHand(){
if(!won){
prevHand=Hand.getHand(random.nextInt(3));
}
return prevHand;
}
}
//Player.Java艾件
public class Player{
private string name;
private strategy strategy;
public Player(string name,(4)strategy){
this.name=name;
this.strategy=strategy;
}
public Hand nextHand(){//向战略请示手势
return(5);
}
}
选项
答案
(1)private (2)static (3)abstract (4)Strategy (5)strategy.nextHand()
解析
Hand类要保证只产生3个实例,就要求不能随便生成Hand类,因此其构造方法需要是private型的,故空(1)填private。先看空(3),nexthand0是接口Strategy~方法,应为抽象方法,故空(3)应填abstract。再来看空(2),由对getHand()方法的调用方式Han@D@getHand(handValue)及Han@D@getHand(random.nextInt(3)),可知该方法是类Hand的静态方法,故空(2)应填static。由语句this.strategy=strategy;可知:this.strategy与strategy是同数据类型,this表示自身引用,而this.strategy是Strategy类型,故空(4)应填Strategy。方法nextHand0是“向战略请示手势”,取得手势是通过其所采用的“策略”实现的,故空(5)应填strategy.nextHand0。
转载请注明原文地址:https://kaotiyun.com/show/B4DZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某个不确定有限自动机(s0为初态,s3为终态)如下图所示,_______是该自动机可识别的字符串(即从初态到终态的路径中,所有边上标记的字符构成的序列)。
[Java源程序:一个简单的Web服务器]/************************************************************//*WebServer.java*//******
通常VLAN有静态和动态2种实现方式,这2种方式分别是如何实现的?各有什么特点?Switch1采用的是哪种实现方式?在VLAN中,STP和VTP是什么协议?各有什么作用?
阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。说明网络解决方案如图4-1所示。该网络原先使用的是国外品牌的交换机,随着网络规模的扩大,增添了部分国产品牌的交换机,交换机1至交换机5均是国产10M/100M自适应交换机,交换机6
阅读以下说明,回答问题1~7。[说明]下图是在网络中划分VLAN的连接示意图。VLAN可以不考虑用户的物理位置,而根据功能、应用等因素将用户从逻辑上划分为一个个功能相对独立的工作组,每个用户主机都连接在支持VLAN的交换机端口上,并属于某个VLA
阅读以下说明,回答问题1~6。[说明]某公司已有一个100用户的有线局域网。由于业务的发展,现有的网络不能满足需求,需要增加40个用户的网络连接,并在公司客户接待室连接网络以满足合作伙伴实时咨询的需求。现结合公司的实际情况组建无线局域网,具体拓扑
阅读下列说明,回答问题1至问题6。[说明]某公司的业务员甲与客户乙通过Internet交换商业电子邮件(以下简称为“邮件”)。为保障邮件内容的安全,双方约定采用安全电子邮件技术对邮件内容进行加密和数字签名。安全电子邮件技术的实现原理如图4
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持根据说明中inittab文件的内容,系统引导成功后,工作在______状态。A.单用户字符模式
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。有线
在校园网设计过程中,划分了很多VLAN,采用了VTP来简化管理。1.VTP信息只能在(1)端口上传播。2.运行VTP的交换机可以工作在三种模式:(2)、(3)、(4)。3.共享相同VLAN数据库的交换机构成一个(5)。该校园网在
随机试题
为了补充已经发布的法律、法规而制定规范性文件的活动,这种行政立法属于()
社会主义初级阶段坚持按劳分配为主体、多种分配方式并存的制度必须体现()。
A使甲状腺泡上皮萎缩、减少分泌B使甲状腺组织退化、血管减少、腺体缩小变韧C抑制甲状腺过氧化酶,从而抑制甲状腺激素的生物合成D对甲状腺激素代谢无作用,仅能改善甲状腺功能亢进症状E摄取碘提高,摄碘高峰前移放射
男性,48岁。左小腿皮肤发红、疼痛、肿胀1天,伴发热、头痛,查体:左小腿外侧皮肤红肿、皮温增高、触之疼痛,病变境界清楚,腹股沟可及肿大淋巴结,足趾部有足癣。此患者最可能的诊断是
A、大活络丹B、参苏片C、山药丸D、六神丸E、牛黄清心丸含半夏的中成药是()
自设实验室进行试验所耗用的材料等费用属于()。
小组有一定的生命周期。比较普遍的是将小组划分为()个阶段。
《义务教育语文课程标准(2011年版)》对语文知识教学提出具体建议,帮助学生形成语言应用能力和良好的语感。下面是某地中考试题:对该试题语文知识学习导向的分析,下列不恰当的是()。
WhichparentlanguageisEnglishbelievedtodescendfrom?
Itisevidentthatshehasdoneagoodjob.
最新回复
(
0
)