




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计题get(intindex)方法遍历链表所有的时get(intindex)方法遍历链表所有的时mportjava.util.*;publicclassTestSpeed{publicstaticvoidmain(String[]args)mportjava.util.*;publicclassTestSpeed{publicstaticvoidmain(String[]args){LinkedList<String>list=for(inti=0;i<=60096;i++){list.add("speed"+i);}IteratorvString>iter=list.iterator();longstarttime=System.while(iter.hasNext()){Stringte=iter.next();newLinkedList<String>();currentTimeMillis();}currentTimeMillis();longendTime=System.currentTimeMillis();longresult=endTime-starttime;System.out.println(
starttime=System."使用迭代遍历集合所用时间currentTimeMillis();result+"毫秒“);for(inti=0;i<list.size();i++){Stringte=list.get(i);();}();endTime=System.currentTimeMillisresult=endTime-starttime;System.out.println(”使用get方法历集合所用时间"+result+"毫秒“);}}编写饿汉式和懒汉式单件模式示意代码,并说明这两种方式的适应性。(1)饿汉式:publicclassSingleton{privatestatic SingletonunigueInstanee=newSingleton();privateSingleton(){}publicstaticSingletongetInstance(){publicstaticreturnunigueInstanee;}}(2)懒汉式:publicclassSingleton{privatestatic SingletonunigueInstanee;privateSingleton(){}publicstaticsynchronizedSingletongetInstance(){publicstaticif(unigueInstanee==null){unigueInstaneenewSingleton();}returnunigueInstanee;}}以下你看到的类和接口是取自一个动作冒险游戏,它们代表游戏角色(Character)的类和角色可以使用的武器行为的类。每个角色一次只能使用一种武器,但是可以在游戏的过程中换武器。你的工作是使用策略模式实现该游戏的架构。 CftjfactarTnMIKfiifeBehaviorBiOwAndArrowBehAvicr「实区HITMAxeBehjiviarTnMIKfiifeBehaviorBiOwAndArrowBehAvicr「实区HITMAxeBehjiviar(]广实班用磬npublicabstractclassCharacter{WeaponBehaviorweapon;publicvoidperformWeapon(){weapon.useWeapon();}publicabstractvoidfight();publicvoidsetWeaponBehavior(WeaponBehaviorw){this.weapon=w;}}publicclassQueenextendsCharacter{publicQueen(){weapon=newKnifeBehavior();}publicvoidfight(){System.out.println("皇后在战斗。");}}publicclassKing extendsCharacter{publicKing(){weapon=newSwordBehavior();}publicvoidfight(){System.out.println("国王在战斗。");}publicclassTrollextendsCharacter{publicTroll(){weapon=newBowAndArrowBehavior();publicvoidfight(){System.out.println("妖怪在战斗。");}}publicclassKnightextendsCharacter{publicKnight(){weapon=newAxeBehavior();}publicvoidfight(){System.out.println("骑士在战斗。");}}publicinterfaceWeaponBehavior{publicvoiduseWeapon();publicclassKnifeBehavior implementsWeaponBehavior{publicvoiduseWeapon(){System.out.println("使用匕首战斗!");}}publicclassBowAndArrowBehaviorimplementsWeaponBehavior{publicvoiduseWeapon(){System.out.println("使用弓箭战斗!");}}publicclassAxeBehavior implementsWeaponBehavior{publicvoiduseWeapon(){System.out.println(} 使用斧头战斗!");}publicclassSwordBehaviorimplementsWeaponBehavior{publicvoiduseWeapon(){//TODOAuto-generatedmethodstub}publicclassGame{publicstaticvoidmain(String[]args){//Kingking=newKing();Characterking=newKing();//显示谁在战斗king.fight();//使用武器king.performWeapon();System.out.println( 使用宝剑战斗!");//改变武器(对象)king.setWeaponBehavior(newKnifeBehavior());//再次使用武器king.performWeapon();System.out.println("\n另一个角色");Charactertroll= newTroll();//Trolltroll=newTroll();troll.fight();troll.performWeapon();troll.setWeaponBehavior(newSwordBehavior());troll.performWeapon();}}使用责任链模式计算阶乘,设计要求:设计一个类,该类使用int型数据计算阶乘。设计一个类,该类使用long型数据计算阶乘。设计一个类,该类使用BigInteger型数据计算阶乘。使用责任链模式将上述对象组成一个责任链,要求责任链上对象的顺序是:首先使用int型数据计算阶乘,然后使用long型数据计算阶乘,最后使用BigInteger型数据计算阶乘。用户可以使用责任链计算任意整数的阶乘,类图如下所示。注意:不够写可写到背面并注明voidcompuerMultiply(Stringnumber);voidsetNextHandler(Handlerhandler);publicinterfaceHandler{voidcompuerMultiply(Stringnumber);voidsetNextHandler(Handlerhandler);}publicclassUselnt implementsHandler{private Handlerhandlerprivate intresult=1;publicvoidcompuerMultiply(Stringnumber){try{intn=lnteger.parseInt(number);inti=1;while(i<=n){
result=result*i;);if(result<=0){);System.out.println( "超出我的能力范围,我计算不了puerMultiply(number);return;}i++;}System.out.println(number+ "的阶乘:"+result);}catch(NumberFormatExceptionexp){System.out.println(exp.toString());publicvoidsetNextHandler(Handlerhandler){this.handler=handler;}}PublicclassUseLongimplementSdAanprivateHandlerhandler;privatelongresult=1;publicvoidcompuerMultiply(Stringnumber){
try{longn=Long.parseLong(number);longi=1;while(i<=n){result=result*i;if(result<=0){System.out.println( "超出我的能力范围,我计算不了 ");puerMultiply(number);return;}i++;}System.out.println(number+ "的阶乘:"+result);}catch(NumberFormatExceptionexp){System.out.println(exp.toString());}}publicvoidsetNextHandler(Handlerhandler){this.handler=handler;}}importjava.math.Biglnteger;publicclassUseBigInteger implementsHandler{privateHandlerhandler;privateBigInteger result=newBigInteger("1");publicvoidcompuerMultiply(Stringnumber){try{BigIntegern=newBigInteger(number);BigIntegerONE=newBigInteger("1");BigIntegeri=ONE;while(pareTo(n)<=0){result=result.multiply(i);i=i.add(ONE);}System.out.println(number+ "的阶乘:"+result);}catch(NumberFormatExceptionexp){System.out.println(exp.toString());}}publicvoidsetNextHandler(Handlerhandler){this.handler=handler;this.handler=handler;}publicclassApplication{privateHandleruseInt,useLong,useBig;publicvoidcreateChain(){useInt=newUseInt();useLong=newUseLong();useBig=newUseBigInt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025授权财务合同书
- 《瑞士山间小镇规划案调整》课件
- 2025装修工人劳动合同协议书示例
- 2025石油买卖合同书范本
- 高中化学人教版 (新课标)选修4 化学反应原理第三节 盐类的水解第2课时教案及反思
- 《网络营销成功案例》课件
- 《度假胜地全貌展示》课件
- 2025年网站开发设计劳动合同
- 2025水电暖安装合同范本
- 《传媒领域概览》课件
- 高压氧护理进修汇报
- 第二单元 第八课 巧用蓝牙做工具 说课稿2024-2025学年人教版(2024)初中信息科技八年级上册
- 《新时代提升基层治理能力的根本路径》课件
- 产品审核程序(含表格)
- 2024届清华大学强基计划数学学科笔试试题(附答案)
- 5、科技成果转化的组织实施与激励奖励制度
- 全国统一规范电子税务局概况介绍及操作辅导
- 工商企业管理毕业论文范文(4篇)
- 浙江省杭州市(2024年-2025年小学三年级语文)人教版开学考试(上学期)试卷(含答案)
- VDA6.3 2023 过程审核检查表-参考表单
- 【网络谣言型寻衅滋事罪的认定存在的争议探析8600字(论文)】
评论
0/150
提交评论