




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、随堂练习011.FindBugsA.查察FindBugs发现的问题,一共有几类问题,各是什么含义将这几类问题翻译成中文;答:一共有以下三各样类的问题:1.Bug:InvocationoftoStringoncombinationincodeinvokestoStringonanarray,whichwillgenerateafairlyuselessresultsuchasC16f0472.ConsiderusingtoconvertthearrayintoareadableStringthatgivesthecontentsofthearray.中文:在组合代码调用toString数组,这将
2、产生一个相当无用的结果。考虑使用方法将数组转变为可读的字符串。Bug:concatenatesstringsusing+inaloopThemethodseemstobebuildingaStringusingconcatenationinaloop.Ineachiteration,theStringisconvertedtoaStringBuffer/StringBuilder,appendedto,andconvertedbacktoaString.Thiscanleadtoacostquadraticinthenumberofiterations,asthegrowingstringis
3、recopiedineachiteration.BetterperformancecanbeobtainedbyusingaStringBuffer(orStringBuilderinJavaexplicitly.中文:这个方法忧如是成立在一个循环中使用连结字符串。在每个迭代中,字符串变换为StringBuffer/StringBuilder,附加到,变换回一个字符串。这可能以致成本数量的二次迭代,在每个迭代字符串复制。可以获得更好的性能经过使用StringBuffer显式(或StringBuilderJava中)。Bug:Unreadfield:fieldisneverread.Consid
4、erremovingitfromtheclass.中文:这个属性没有被读。这个字段是不会被程序读的。考虑把它从类中移除。B.如何解决FindBugs指出的问题请更正Sudoku程序,以更正所有FindBugs指出的问题。注意:同类错误仅需记录一次更正思想即可。答:使用将数组变换为字符串。2.将String种类的该变量定义为StringBuffer种类的,并在循环体顶用append()方法取代+操作。3.经过”查找”找出对应的属性的所有代码,并说明删除。(或许调用print方法输出该属性)2.Junit源程序:packagesale;publicclassSaleMachineprivatein
5、tcountOfBeer,countOfJuice,countOfFiveCents,countOfOneDollar;privateStringtypeOfGoods=Beer,Juice;privateStringresultOfDeal;publicSaleMachine()initial();publicvoidinitial()/默认售货机countOfBeer=3;countOfJuice=3;countOfFiveCents=3;countOfOneDollar=3;publicSaleMachine(intfiveCents,intoneDollar,intnumOfBeer,
6、intnumOfOrange)/带参数的初始化售货机countOfFiveCents=fiveCents;countOfOneDollar=oneDollar;countOfBeer=numOfBeer;countOfJuice=numOfOrange;publicStringcurrentState()/返回目前售货机状态Stringstate=库存n+啤酒:+countOfBeer+n+橙汁:+countOfJuice+n+五角硬币:+countOfFiveCents+n+一元硬币:+countOfOneDollar;returnstate;publicStringbuy(Stringty
7、pe,intmoney)/用户购置的方法。type是用户选择的产品,money是用户投币种类if(money=50)/假如用户投入5角钱if(typeOfGoods0)/假如用户选择啤酒if(countOfBeer0)/假如还有啤酒countOfBeer-;countOfFiveCents+;resultOfDeal=请取出饮料;returnresultOfDeal;elseresultOfDeal=目前该饮料已经售完;returnresultOfDeal;elseif(typeOfGoods1)/用户选择橙汁if(countOfJuice0)countOfJuice-;countOfFive
8、Cents+;resultOfDeal=请取出饮料;returnresultOfDeal;elseresultOfDeal=目前该饮料已经售完;returnresultOfDeal;elseresultOfDeal=目前不供应该饮料;returnresultOfDeal;elseif(money=100)/假如用户投入一元钱if(countOfFiveCents0)/假如售货机有零钱if(typeOfGoods0)&countOfBeer0)/假如用户选择啤酒而且还有啤酒countOfBeer-;countOfFiveCents-;countOfOneDollar+;resultOfDeal=
9、请取饮料,并取回找钱;returnresultOfDeal;elseif(typeOfGoods1)&countOfJuice0)/假如用户选择橙汁而且还有橙汁countOfJuice-;countOfFiveCents-;countOfOneDollar+;resultOfDeal=请取饮料,并取回找钱;returnresultOfDeal;elseif(typeOfGoods0)&countOfBeer=0)resultOfDeal=目前该饮料已经售完;returnresultOfDeal;elseif(typeOfGoods1)&countOfJuice=0)resultOfDeal=目
10、前该饮料已经售完;returnresultOfDeal;elseresultOfDeal=目前不供应该饮料;returnresultOfDeal;elseresultOfDeal=对不起,目前不可以找钱,请投5角硬币;returnresultOfDeal;resultOfDeal=请投5角或许1元的硬币;returnresultOfDeal;测试程序以下测试场景均鉴于上述程序:测试场景:投币1元购置橙汁三次,此后投币1元购置啤酒三次。预期结果:显示“对不起,目前不可以找钱,请投5角硬币”publicvoidtest_NoCoin()SaleMachinesm=newSaleMachine();
11、assertEquals(orange,100),请取饮料,并取回找钱);函数代码:assertEquals(orange,100),请取饮料,并取回找钱);assertEquals(orange,100),请取饮料,并取回找钱);assertEquals(beer,100),对不起,目前不可以找钱,请投5角硬币);测试结果:经过测试场景:预期结果:投币1元,购置可乐显示“目前不供应该饮料”publicvoidtest_Cola()/售货机有5角,投币1元,选择非啤酒非橙汁SaleMachinesm=newSaleMachine();函数代码:assertEquals(Cola,100),目前
12、不供应该饮料);测试结果:经过测试场景:投币5块,购置橙汁预期结果:显示请投5角或许1元的硬币publicvoidtest_500orange()/售货机没有啤酒节余,用户投币5角,选择啤酒函数代码:SaleMachinesm=newSaleMachine();assertEquals(orange,500),请投5角或许1元的硬币);测试结果:经过测试场景:投币1元购置啤酒一次预期结果:显示“请取饮料,并取回找钱”publicvoidtest_50Beer3()/测试连续买三次啤酒每次投币5角SaleMachinesm=newSaleMachine();函数代码:assertEquals(b
13、eer,50),请取饮料,并取回找钱);测试结果:经过测试场景:投币5角购置啤酒四次预期结果:显示“目前该饮料已经售完”publicvoidtest_50Beer3()/测试连续买三次啤酒每次投币5角SaleMachinesm=newSaleMachine();assertEquals(beer,50),请取出饮料);assertEquals(beer,50),请取出饮料);函数代码:assertEquals(beer,50),请取出饮料);assertEquals(beer,50),目前该饮料已经售完);测试结果:经过测试场景:初始化五角/一元硬币/啤酒/橙汁都为4个,投币50,购置5次橙汁预期结果:显示“请取出饮料”*4+目前该饮料已经售完publicvoidtest_50Orange4()/售货机没有啤酒节余,用户投币5角,选择啤酒Sal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 皮革制品修补技术国际标准与规范考核试卷
- 燃气具行业清洁生产与资源综合利用考核试卷
- 珠海市高三月质量监测(二模)理综试题
- 连云港市重点中学2025年初三下学期期末学业水平调研英语试题试卷含答案
- 西藏那曲市色尼区2024-2025学年三下数学期末复习检测模拟试题含解析
- 山西省晋中市四校2025届高三教学质量检测试题英语试题含解析
- 江西信息应用职业技术学院《工程估价与费用管理双语》2023-2024学年第一学期期末试卷
- 辽宁省锦州市义县2024-2025学年五年级数学第二学期期末达标测试试题含答案
- 山西应用科技学院《核医学实验技术》2023-2024学年第二学期期末试卷
- 南京大学《阿拉伯语视听说》2023-2024学年第二学期期末试卷
- 2025年人教版小学数学二年级下册期末考试卷(带答案解析)
- 西师大版小学五年级 数学(下)期末测试题(含答案)
- 化工工艺原理考试题库梳理
- 定金款管理制度
- 2024年秋儿童发展问题的咨询与辅导终考期末大作业案例分析1-5答案
- DL∕T 796-2012 风力发电场安全规程
- 压花艺术-发现植物之美智慧树知到期末考试答案2024年
- LED显示屏项目立项报告(模板参考)
- 最新版电梯日常维护保养记录
- 发烧的地球ppt课件
- 梁柱增大截面加固施工方案(完整版)
评论
0/150
提交评论