首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java代码,回答问题 [说明] 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。
阅读以下说明和Java代码,回答问题 [说明] 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。
admin
2012-02-20
55
问题
阅读以下说明和Java代码,回答问题
[说明]
任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(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;
}
public (2) Hand getHand(int handvalue)(//从值取得对象实例
return hand[handvalue];
}
}
//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) ;
}
}
选项
答案
private static abstract Strategy strategy.nextHand()
解析
转载请注明原文地址:https://www.kaotiyun.com/show/jlDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
针对下列程序段,对于(A,B)的取值,以下(57)测试用例组合能够满足条件覆盖的要求。IF((A-10)=20AND(B+20)>10)THENC=0IP((A-30)<10AND(B-30)<0)THENB=30①A=5
MVC模式(模型.视图一控制器)是软件工程中的一种软件架构模式,把软件系统分为模型、视图和控制器三个部分。________________不属于MVC模式的优点。
为了能按时交付系统,开发小组在实现“确定最优任务分配方案”功能时采用了蛮力的方法。在系统交付后,对可能出现更多任务量的情况,采用更有效的方法来实现该功能,这属于()。
以下关于信息和数据的描述中,错误的是________________。
若计算机存储数据采用的是双符号位(00表示正号、11表示负号),两个符号相同的数相加时,如果运算结果的两个符号位经()运算得1,则可断定这两个数相加的结果产生了溢出。
计算机采用分级存储体系的主要目的是为了解决()的问题。
测试记录包括、(64)。①测试计划或包含测试用例的测试规格说明。②测试期间出现问题的评估与分析。③与测试用例相关的所有结果,包括在测试期间出现的所有失败。④测试中涉及的人员身份。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。①处应填入?
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
对于逻辑表达式(bufc[i]>223&&bufc[i]<240&&i+2<totalbytes),需要______个测试用例才能完成条件组合覆盖。
随机试题
Thenewsaboutvitaminskeepsgettingworse.Manystudiespublishedinthelastfewyearsshowsthatavarietyofpopularsupple
下列各项中,需要办理变更登记的有()。
下列哪项不是构成照片影像的物理因素
X企业采购人员报销用外埠存款支付材料采购等款项时,根据报销凭证编制会计分录可能涉及的会计科目有()。
某社会工作者鼓励救助对象参与社区活动,为社区的发展献计献策,并在救助对象中发现和培养了骨干来关心和帮助其他救助对象。社会工作者这种做法产生的作用是()。[2010年真题]
(2015国考)现要在一块长25千米、宽8千米的长方形区域内设置哨塔,每个哨塔的监视半径为5千米。如果要求整个区域内的每个角落都能被监视到,则至少需要设置多少个哨塔?
A、4B、8C、16D、24D6÷1=2÷1×3,18÷2=6÷2×3,4÷4=8÷(24)×3。
考生文件夹下有一个数据库文件“samp1.accdb”,其中存在已经设计好的表对象“tStud”。请按照以下要求,完成对表的修改。(1)设置数据表显示的字体大小为14、行高为18。(2)设置“简历”字段的设计说明为“自上大学起的简历信息
打开工作簿文件Excel.xlsx。选择“专业”和“专业总人数所占比例”两列数据区域的内容建立“分离型三维饼图”,图表标题为“专业总人数所占比例统计图”,图例位置靠左;将图插入表A12:G28单元格区域,将工作表命名为“在校生专业情况统计表”,保存Ex
EverysecondintheUnitedStatesalone,morethen250animalsareslaughteredforfood,addinguptomorethan8billionanimal
最新回复
(
0
)