Java面向对象程序设计-设计性实验报告.docx
添加第个面板.存放数字也跟运打迸JPiineIPI=DeWJPaneK):Fontfont=newFont("',.Eont.B()1.DJO);p1.sct1.ayout(newGrid1.ayout(4.5.10.1():nI=newJBuuon(,'7,Xn1.setFonKfont);pl.add(nl);nI.addAction1.istcncrfthis);n2三newJBuuon("8"):n2.setFont(fbn();pl.add(n2)zn2.addActio111.istcncr(this);n3=newJBuuon(H9");n3.setFMt(font):pI.add(n3kn3.addAction1.istcncrfthis);(I=newJBuiton(V)JI.seFont(foni);pl.add(t1):t1.addAction1.istcncr(this):c2=newJBuuonC,)a2.se<Font(fonO;p1.add(t2)zt2.addAclion1.istcncr(this);n4=newJBuon("4")u4,seiFont(fonO;pl.add(n4)zn4.addAction1.istcncr(this);n5=newJBuuon(H5H);n5,setFon(fdn(Xpl.add(n5kn5.addActon1.istcncr(this);n6=newJBuon("6")116.seiFon(fo11>pl.add(n6)n6.addAction1.istcncr(this);c3=newJBuionC*)i<3,seFont(fom);pl.add(t3)zt3.addAction1.istcncr(ths);(4=newJBuKon(*%M);(4.setFont(fbnO;pl.add(t4)it4.addAction1.istcncr(this);n7=newJBuon("1"k117,setFoni(fomp1.add(n7);n7.addAction1.istcncr(this);n8三newJBUUOn("2")n8.setFont(font);pl.add(n8kn8.addAction1.istcncr(this);n9=neuJBu(on<"3")n9,setFon(fon;pl.add(n9)n9.addActon1.istcncr(this);(5=newJButtonC-M);t5.se(Fom(fbm);p1.add(t5);t5.addAction1.istcncr(this);(6=newJBultonClx")u6.seFonUfon();pl.add(l6):t6.addAction1.istcncr(this);n=newJBuuon("O11)nO.setFont(font):pl.add(n()>m().addAction1.istcncrtthis);(7=newJBui(onC+/-H);i7.se(Font(font);pl.add(t7)zt7.addAction1.istcncr(this);(8=newJBuonC.,)a8.se(Fo11(font);pl.add(t8M8.addAction1.istcncr(this);(9=newJBul(on(w+M);(9.setFonufonO;pl.add(l9):t9.addAction1.istcncr(this):IO二newJBlluOIoll0.seFonfbnt);pl.add(tl()tl().addAction1.istc11cr(ths);添加其次个面板,存放退格,归零等功傥键p6.add(p4.Bordcr1.ayout.CENTER);p6.jdd(p5,Bor(icrlUiyouc.NORTHK裤加笫七个面板.将合以上六个面板JPancIp7-ncwJPancKncwB4xdcrl-ayoul(10,10);p7.add(p3.Bo11fer1.ayou(.CENTER):p7.add(p6.Brder1.ayoul.WEST):sct1.ayout(ncvBordcr1.ayouK10.10);add(p7,BorderI.ayout.CENTER);j(extfieldnewJTeKlField();jtextficld.se<EnabIedCfaM?):jtcxtficld.sctHorizontalAlignmcnt(JTcxtFicIdaRIGHT);j(cxtficld.sctFont(fbnt);addljiexifkld.Bonler1.ayOUt.NORTH);J其次部分:实现功能键的方法publicvoidactionPcrfomd(.ctionEvcntc)Objecttarget=c.gctSourcc();StringConsiain=e.gelAciionCbmmandO;if(,01234567X9.".indcxOf(constant)X)r,OI23456789.".indcxOf(constant)=()NUmbCr(ConqanI)W推断fi入的第一个数是否为数字elseif(arge=t7)kAS(>W而输入的数字取反elseif(targct=t6)jjtextfield.setTex("H-H1.Q*DoubleparseDouble(jiexfieldge(TexQ);“对输入的数字取倒数Ielseif(targct=t2)j(exlfield.setTexl(nN+Math.sqrt(Double.pan(eDouble(jtextfield.gelTextO)»/输入的数字开根号elseif(arge(=ml)numbcr=Math.sqrt(D<ublc.val>cOf(jtextfcld.gcfIext():elseif(opcrator.cqual$(t'%M)numbert<>=)ouble.valueOf(j(ex(fiel<l.ge(Text();jtextfield.$etText(String.valueOf(number);operator=button:isFirsiDigit-true;第三部分:,添加一个接口,显示说明内容的窗口classExpIuinCIassimplementsAction1.istener(publicvoidactionPcrformed(ActionEvcntc)(StringOUtPlH="说明:"+“此讣算器由陈坟伦和王永晶共同开发.+"n"+"MCMRNS,M+功能键正在开发中,敬请期吩。”+*n+"因为时间紧迫,在测试中还存在一些问题:"+"11"+喳)按犍功能说明:”+n+C:归零,清除当前的计W:”+"n"+"+/-:时输入数字取相反数:"+"n"+1.开平方;+"n"+,%:对计算结果求余:+n+"x:求倒数":JOptionPanc.showMcssagcDialog(null.output.*i"JOp(io11Panc.DEEAUE-OPTION):)第四部分:"主方法publicstaticvoidmain(String1args)(Calculatorframe=newCalculalorO;framc.sctitle("Hli计算5*);framc.seSizc(5(X),3OO);frame.sc(Resizable(false);fra11c.sel1.calionRelativeTb(null):framc.sctDcfaultCloscOpcratiiHi(JErame.EXIT_ON_C1.OSE);framc.scVisibIc(Iruc);4、系统的程序结构CalculatornlJButtonn2JButu>nn3:JButtonn4:JButtonn5JBul(on116:JBuuonn7JBulk>nn8JButtonn9JButconnOJBullnIlJButtont2JButtonOJButtont4JButtont5JButton16:JBUttOnl7JBu11on18:JBUIIOnl9JButtonIlOJBuuonmlJBuuonm2:JBUtlonm3:JButtonSlJButtons2JButtons3JBu11ons4JButk>njtcxtficld:JTcxtFickI+Calculator)÷main(argsrString)zvoidExpIainClassf)÷actionPcrfomcd(c:ActionEvcnt):void+NumbeNbulion:SlfingOid5、系统测试以下将演示各个功能的实现,虽然在测试过程中仍存在很多没有发觉的BUG,但在后续的学习中我们会接连改进。I.数字界面显示:2.(加法测试)依次按下“io”“+”“3”“=”按钮,屏幕结果显示如图:4Innl6Irnl%I叵111I2l1111l-PrW11图标准计算器4.0回7U8U9JII4Il5Ipnl*U%II1Il2InnI-JPr11l-Iri4:14.(乘法测试)依次按下“2”“*”“="按钮,屏幕结果显示如图:图标准计算器-11314.O回I7IPnl9Il/UJIWl4U5H6Irnl%I日111113U"1xIMn1.oIprTH+5.(除法测试)依次按下“()”“/”“2”“=”按钮,屏窑结果显示如图:6.(根号测试)依次按下W'7”“=”按钮,屏幕结果显示如图:8.(求倒数测试)依次按下“10”“1仆”“=”按钮,屏幕结果显示如图:回I7Irnl9InnlJIWl4Il5Il611"j%I日11113UR+11可rr;”9.(相反数测试)依次按下“10”“+/-”“=”按钮,屏幕结果显示如图:IO-Backspace键前、Backspace键后及Backspace铤后加归零(标准计算器-11IHBj1234567890说明BackspaceCE;C;回I7Irnl9JIWl4Il5Il6Innl%IMS1231/xMO+/-+图标准计算器-a123456789说明|BaCkSPaCeCEC|五I7Ii8Ii9IrnlJIEl4Inl6Innl%|MSIlIll2JI3I-÷IOIl÷-11.I_j1/x+,二_回I7IPnl9U/|J|Wl4Il5Il611"%I曰11Inl3URer11勺r;"I1.说明接口显示:布隹计箕器说明说明:他计算m由陈呈俭和王永品共同开发。与MCNR,MSM功能逑正在开发中蹶南Ja待因为时间紧迫,在娥it中建存在-瞥问粉;与接健功能说明:C:妇零,滑除当前8沆卜茸,科:对输入数字取相反数;V:开平方;,:对计算益果求余;1/x:求利数6、小组分工状况本次Java设计性试验报告主要有三个主要步骤:分别为:编写代码:由王7k晶同学设计计算潜面板及各项计算过程的开发:陈累伦同学负责接口的开发过程,并为两部分代码的兼容做修改及改进。程序检测及bug处理:由陈景伦和王永晶同学在测试的过程中共同找寻和发觉问题,然后主动探讨问题出现缘由和解决方案并共同修更。撰写试脸报告:两人共同探讨,一起编写。