版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一软件设计模式之工厂模式实验一、实验目的掌握软件设计模式中的工厂模式,能够用工厂模式编写程序,解决实际问题。、实验内容与要求内容:使用工厂模式写一个简单的计算器,能实现加减乘除运算。要求输入两个数,选择运算符,程序便能够计算出结果。程序设计语言可自由选择。要求:需要用“文字+代码+截图”的形式对实验的主要代码和运行结果进行展示和描述。三、实验方法首先设计一个运算类接口■]ProjectV ©G—豪Calculator.imlXQOperatorjavaX号AddOp^raicrrJawaX❹MuiOperatorj,TB|CakulatQr=;\C3lculator.*4publicin±erfaceOperator{►■ridea〃获期结果4■cut1publicdoublegetResult(doublenum!^doublenumi2;TfasrcJQAddOperator}0CacIFe&tJ0DivQperatorQMulOperatarQOperatorQOperatorFactoryQSubOperatcr62.设计运算的实现类:2.1加法实现:jHIProjectt 甜十个一:TI"Cakulatcr=”匚at上uator,* *■」ide■旦1 >■OUtT・wQAddOpevstor存CaclTest0DrvOpcrator0MuiOperator壬Calculatoir.iml 0OptFislior.jiafva AddCp-rrflftoir.java 0MulOperatcrja'i'D:J55C/小法运其publicclassAddOperstorimpleireritsOperatar(^Overridepublicdoublege"tResu1±(daub1enumldoublenum2)freturnnurnl-t-nurmS;9 }❹Operatof8NGQpcrialDfFactDry0SubOpcrotor_Calculater.iml2.2减法实现:
■gQilCUht4Ftosir0SubOperatort!画Projectt ◎壬。—旦匚elulilain「.iml“❷□pdrartcr.jawa❹AddDpe-rator.java MuiDpeiratDr.javatCalculatorR.C^Iculitor1"减半算k■.idej!2publicclassSubOperatorimplenfrentsOperator{t・tUtgOtferridG胃■*0AddOpwator4/publicdoublegetRe&ult'CdoublenumilRdoublefilimS)(&CacITwt'jreturnnuml-num2]0DW)perBtDr)•MulOperdtor了0Gperator}QOperatesFactory2.3乘法实现K]Project■ 备于K]Project■ 备于QTC^kulato-rF:\CalculatorA■.idea►■outT・5F£每AddOpprator(35dTe?tQDivOperator由MulQp^rator❹Opefator蜜DpeiraEDrFactDry0SubOpflretar诅CakulatDr.iml❹Op€^3tor.jsv3 GAddOperatorjava3MulQpeifatDf.jsM'apublicclassMulOperatorimplementsOperator{7gOverride3Ofdpublicdoublege~tResu1±(doub1enumldoublenumi){5T rjatunnnumil^nuniij-7 N}s}FlFlProject■ 金三◎TCailcoOat@ffF;\CakulatorA■.idea卜・<iUt■・wn:QAdd^pe-ratDir0"CadTesiQDivOperatorQMulOpe*ator•OperatorQOp^ratorFactury❹SubOp«rator*Calculator,imllllliEirternfllLitwariesScrakhesandConsoles2.4除法实现『C^lculatDr.innJ。Dperatarjava缶AddDperdtor.java③IMulOpe-rator.java//除法publicclassDivOpenatarinplem-enitsOperator{^OverridepublicdoublegetIResult{doub1eniurttiJdoublenum2){5 * /7判断除割(是否为空if(num2l=0){returnnunil/nuiwZjSA }else(System.叫t.println("除敖.不能为矿)ji10 return&;}12Q}3.编写主函数并实现culatnr.iml Operatorjava@Add□ptrater.java @IMulDpcraftor.ja^a 0口peratorfartery.java 同CadTeiTt.java0IDivOp«rator.jatfai-iiitpor^tjava»wti1„Scanner;iimportjavaHuti1.regex..Psttern;publicclsssCaclTest{publicstaticvoidmain(String[]args){System,out.println( ~字:');Scannerscjonier=new5canner(System.in)]Stringniumi=scanner»mextLine();Systera.outBprintln(rii#输入运点符(+-*/):")jStringoper=ecanneramextLine();System,outBprintln("请输入第二十数字z")jStringnum2=scanner-nextLine()j〃偷过工厂荻取运算类Operatoraperator=OperatorFactory.fOper-ff^QJ™(oper)j;if(operator!=null){if(1sfkn/bte(muml)&&hDau机<?(脚砒)){doubleresult=operator.getResult(Dduble.p£?rseDD£jbte(nijml)Dcuub1e./aarsettouble())-System.a-Lft.println(H结果:1,1+resuit)-}else{System..out■一prdn±In(“请墙入正确的散字!">J}}}/,腕折洋W的【doubleftifloaTJprivatestaticbooleanisDoub1e(Stringstr){if(null==str||""-equals(str)){returnfalsej}Patternpafttem=Pattern.contpiLe(n,A[6-9]+(.[&-9]-i-)?>");//SlT,包括壁数和猝点I'eturnpatterri.niatcher(51r)Tn*atclies();}四、实验结果1.加法减法乘法Rut亘CadTfrsr。*卞-<C:s\ProgramFiles.\Java\jdkl.8i.0_lBl\.bin\ja!-,a•exe"…■请输入第一个数字:二ig运林[+-,:#请输A策二个敖字:=9kProcessfinisbedw
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 变应性结膜炎护理中常见误区规避
- 消化系统常用药物(胃肠动力、消化酶等)护理要点
- 2026年中考语文复习古诗文阅读之写作手法模拟试卷(覆盖高频考点)
- 2026年中考地理复习热搜题之地图的阅读
- 2026外研版高考英语复习讲义 选择性必修第二册 Unit 6 Survival
- 2026外研版高考英语复习讲义:形容词和副词
- 2026外研版高考英语复习讲义 必修第一册 Unit 2 Exploring English
- 2026年高考语文备考之100个文言文一词多义知识点梳理
- TXJBX0082-2025建筑智能化系统数据安全防护技术规范
- TCANSI2012025水陆两栖救援艇技术条件
- 中国居民养老财富管理发展报告(2025年)
- 眼科学基础(new)课件
- 2025山东发展投资控股集团有限公司权属企业招聘249人考试笔试备考试题及答案解析
- 2025年-《中华民族共同体概论》课后习题答案-新版
- 2025年国家公务员考录《行测》真题及参考答案(行政执法卷)
- 【MOOC】民事诉讼法学-西南政法大学 中国大学慕课MOOC答案
- MOOC 颈肩腰腿痛中医防治-暨南大学 中国大学慕课答案
- SB/T 10468.2-2012轮胎理赔技术规范
- GB/T 30637-2014食用葛根粉
- GB 17840-1999防弹玻璃
- 中文版msds-5606w75umpet离型膜产品安全说明书MSDS
评论
0/150
提交评论