首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java代码,回答问题 [说明] 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。
阅读以下说明和Java代码,回答问题 [说明] 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。
admin
2012-02-20
32
问题
阅读以下说明和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://kaotiyun.com/show/jlDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:①经过自己测试的软件今后不会再出现问题;②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;③承诺不需要其他人员,自己就可以独立进行测
在一个完整的功能测试过程中,______不属于应该编写的测试文档。A.测试需求文档B.测试用例文档C.测试标准D.问题报告单
程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的()。
根据输出对输入的依赖关系设计测试用例的黑盒测试方法是________。
测试成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化,以下理解正确的是______。A.测试准备成本属于测试实施成本B.可以通过加强软件测试的配置管理来降低测试维护成本C.测试设计成本控制的目标是尽可能地减少测试总执行时间和所需的测试
软件系统的安全性是信息安全的一个重要组成部分,针对程序和数据的安全性测试与评估是软件安全性测试的重要内容,()不属于安全性测试与评估的基本内容。
计算机采用分级存储体系的主要目的是为了解决()的问题。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。④处应填入?
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
对于逻辑表达式(bufc[i]>223&&bufc[i]<240&&i+2<totalbytes),需要______个测试用例才能完成条件组合覆盖。
随机试题
神经细胞静息电位的数值接近于()
梅与松、竹并称为“岁寒三友”,以其高洁、坚强、谦虚的品格,给人以立志奋发的激励,常被古人用来咏物言志。以下诗词哪一句描写的不是梅花?
ManyfamiliesintheUnitedStateshavealargerincomenowthaneverbefore,butpeoplearefindingitdifficulttomakeendsm
患儿,出生22天,口腔黏膜出现散在白色斑点,状如凝乳,不易剥离,若强行撕脱,则暴露出血创面,烦躁拒食,啼哭不安,体温36.9℃。该患儿可能是
某在建机场的飞行区指标Ⅱ为E,跑道长度3200m,宽60m。某施工单位承揽了1800m土基填方施工工程。在土基施工过程中,一层土基处理完成后,施工单位检验了16个点位的平整度,检验结果为3~4cm的2个,2~3cm的3个,1~2cm的8个,1cm以下的3个
资料1南京万和电子有限公司(海关注册编号3201331111)在投资总额内进口设备一批。货物进口前,该公司已向主管海关取得编号为Z22004A×××××的征免税证明,该证明海关签注为“鼓励项目”。货物委托上海申华进出口公司(海关注册编号310491
涨价:滞销
秘书处理人际关系的准则除了礼貌礼仪、宽容体谅、赞美他人外,还有()。
根据我国相关法律法规的规定,城市规划管理权必须集中,也就是由城市规划主管部门集中管理。下列权限中,()属于城市规划管理权。
OrganicAgricultureTheideathatshoppingisthenewpoliticsiscertainlyenticing.Nevermindtheballotbox:votewithy
最新回复
(
0
)