首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java代码,回答问题 [说明] 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。
阅读以下说明和Java代码,回答问题 [说明] 任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。
admin
2012-02-20
51
问题
阅读以下说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则________________是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为________________。对于10个结点的小顶堆,其
在开发一个字处理软件时,首先快速发布了一个提供基本文件管理、编辑和文档生成功能的版本,接着发布提供更完善的编辑和文档生成功能的版本,最后发布提供拼写和语法检查功能的版本,这里采用了()过程模型。
某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。其中,信号量S是一个互斥信号量,初值为(1);S1是一个(2);S2是一
程序员甲与同事乙在乙家探讨甲近期编写的程序,甲表示对该程序极不满意,说要弃之重写,并将程序手稿扔到乙家垃圾筒。后来乙将甲这一程序稍加修改,并署乙名发表。以下说法正确的是(11)。
算术表达式a+(b-c)*d的后缀式是()(一、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
以下关于信息和数据的描述中,错误的是________________。
以下说法不正确的选项包括(48)。①软件测试不仅仅指测试的执行,还包括很多其他的活动②软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行③应用H模型有利于资源调配,有助于跟踪测试投入的流向④H模型指
某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是“该防火墙能够(9)”。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。③处应填入?
随机试题
女性,34岁,干咳、低热3天就诊。查体:T37.5℃,双下肺可闻及少量湿性哕音。胸片示双下肺片状阴影。血常规检查未见异常抗炎治疗7天,患者症状无明显改善,并出现进行性呼吸困难。复查X线胸片示双下肺片状影较前略扩大。下列检查中对明确病因意义不大的是
在甾体激素类药物的鉴别试验中从来没用过的反应为
某产妇,足月产后3天,出现下腹痛,体温不高,恶露多,有臭味,子宫底位于脐上1指,子宫体软。以下护理措施中,错误的是
对会计科目辅助核算属性,某一科目能够同时设置辅助核算的有()。
甲公司为增值税一般纳税人,适用的增值税税率为13%,期初无留抵增值税税额,适用企业所得税税率为25%。甲公司2020年1月份发生如下经济业务。(1)1日,甲公司委托乙公司销售A商品2000件,A商品已经发出,每件成本为60元。合同约定乙公司应按每件10
下列项目中。符合印花税相关规定的有()。
租赁合同是出租人将租赁物交付承租人使用、收益,承租人支付租金的合同,租赁期限不得超过()年。
今年清明节我国新疆北部和南部、西北地区东部有小到中雨雪或雨夹雪,华北大部地区将先后有小到中雨雪或雨夹雪,东北大部地区晴转多云,南方大部分地区多云,部分地区阴有小雨或阵雨,4月5日全国34个主要城市中,据国家气象局报告,一半城市出现降雨,6个晴,4个多云,3
给定资料1.2017年中央一号文件是新世纪以来指导“三农”工作的第14个中央一号文件。这份题为《中共中央国务院关于深入推进农业供给侧结构性改革加快培育农业农村发展新动能的若干意见》的文件,首次提出“田园综合体”概念,指出“支持有条件的乡村建设以农
Completethenotesbelow.WriteNOMORETHANTHREEWORDSforeachanswer.TheWorldHealthOrganisationsaysahealthycitymust
最新回复
(
0
)