1、徐敬涵界面布局资料搜集时间21312.2013.12.25第2页共 23 页 1211班Java课程设计报告书、题目概况21、题目简介用纯粹的ava语言实现简单银行存取款的功能,运用学到的知识实现预期要求。在功能界面上,用清晰的操作提示与顺序,让用户用着顺心,看着舒心。同时菜单的多项功能选择达到用户的需求。在每项操作后都会有时间提示,以提供用户账户的安全信息。2.2、题目特色我们的程序打破了以往这方面的繁琐操作,用简单、清晰而安全的界面功能实现它本身的作用。让用户清晰明了的知道系统的功能,快速掌握操作要领,不会像以往的程序那样,让用户繁琐的操作,还不能了解操作要领。所以我们用简单、清晰而安全的
2、界面功能来满足用户的需要,实现系统的实际应用性。第页 共 23页 121401班Java课程设计报告书23、任务分配由于团队人数较少,任务分担会有些重。但是分工很明确,而且很有效率。明确项目要实现的功能后,就迅速开展编写工作,不会出现人多思路乱,意见不一致,分配不合理与成员空闲的情况。其中,刘明星,主要负责程序的编写,功能的实现,以及撰写报告书,明确的将程序的功能写清。徐敬涵,主要负责界面的布局,搜集资料补充系统缺陷,并检查报告书的不足之处。 信息时 间203.1903.1225第4页共 23 页 121401班Jva课程设计报告书3、功能介绍1、 初始界面,清晰明了的登陆界面。给人以舒适的感
3、觉。2、 )、键盘输入账号回车时,程序会自动退出系统。输入密码。 输入错误出现提示第5页共 3 页 2101班Java课程设计报告书b)、输入正确,出现选择对话框,并跳出菜单。美观的布局,清晰的选项,给人以舒适之感。第6页 共23页 121401班Java课程设计报告书3、 功能菜单:)、键盘输入回车,会提示输入您的存款金额,键盘输入存款金额回车,界面会自动跳到主菜单,方便用户继续操作。 b)、键盘输入2回车,会提示输入您的取款金额,键盘输入取款金额回车,界面会自动跳到主菜单,方便用户继续操作。第7页 共23 页 2141班Ja课程设计报告书c)、键盘输入回车,界面会显示本年度年利率5%,本年
4、度目前您所得利息为:xx元;本年度年利率5%,本年度目前您的本息为: xx 2013年12月2日1::56重复操作后,金额显示均为本年度的本息。4、 键盘输入4回车,程序会自动跳出系统。第8页 共23 页 101班Jaa课程设计报告书4核心算法4.1初始界面与主界面初始界面与主界面用输出文字的方式显示,并用switch语句控制选择。用lss B这个类控制键盘输入。/初始选择页面 System.out.intln(*); Sstem.out.prl(*请输入账号:* System.out.ntln(*); Sstmout.pitln(请选择: /菜单页面 Syse.ut.pinln(请选择要执行
5、的操作: System.otrintln(*);Sytem.out.rinln(. 存款 ystem.out.printn(. 取款); Systm.ot.pritl(3 查询stem.o.pinln(. 退出Sytemu.prntn(*nSystm.out.prntl(请选择:/菜单界面的swtc语句switch() ae 1:this.aveMone(lefmney);/存款 beak; cse2:is.getMoney(efone);/取款 break; 第9页 共 23页 12141班Jva课程设计报告书 se3:iIerest(eftmoney);/余额 eak; case 4:fl
6、ag=fal;System.utpintln(n*欢迎下次光临!*); /退出 Systm.exit(0); beak; defal: ystem.out.rintln(没有该选项,请重新选择! beak; 4.2进入与退出进入就是创建对象,调用run()方法。ce: hile(true) Sytem.outrintln(欢迎光临! a.n(); bea; 退出就是调用Sstem(0);方法强行退出。第1页 共 页 21401班Jaa课程设计报告书4.用户登录/顾客登录as Cust livoid ID() n B(); t ct = KB.net(); swich(ct) case 11:h
7、iust1(); brea; case 222:hs.C2(); eak; cse3:tsCus3(); bk; defaul: ystm.ouprintln(没有该用户,请重新选择!Custc new Cst(); cID(); 第11页 共 23页 121班Jav课程设计报告书4.4存 款定义saveMney()方法,用whie、if语句实现存款功能,用fo语句防止重复操作后,利息累加的问题。or(nt=;i) hislftmone+=m1;/操作正确,存入资金 beak; else Sstem.out.println(您存款的金额不正确,请重新输入!n); th.Calna();打印时间
8、,调用Caldar() break;num+;第12页共23页 140班Java课程设计报告书4.5取 款定义gtMone()方法,用hile、if语句实现取款功能,用fr语句防止重复操作后,利息累加的问题。for(int i=0;;)while(tr) Systmo.pintln(请输入您取款的金额: ne KB(); nt m=K.nextt(); if(m10) f(m1thislefone) this.leftmone=m1;/操作正确,扣除取出的资金 els Sstem.outprntl(对不起,您账户余额不足!请查询后在进行取款! bk; se System.ut.pintn(您取
9、款的金额不正确,请重新输入!); hiCalendar();/打印时间,调用andar() brak; num+;第13页 共 2 页 121401班Jva课程设计报告书4.6查 询用f语句算利息与本息并控制,防止重复操作引起利息累加的问题。if(n=)IneresMoney avoney*.0;/按5%利率算取利息ths.ltmoey += IntestMone;/本息4.键盘输入与时间显示1、键盘输入,定义cas KB 类,控制键盘输入。 /键盘输入class KB staticScnner s = neSanner(Sstem.in); stac int nxtIn() rturs.xt
10、It();2、调用alndar方法显示时间 pblc id Calenar()/显示并计算存储时间aendar1 = ale.gtIstanc(); /下面打印当前时间 ystem.println(c1.et(jva.util.Cldar.YEAR)+年+(c1.t(at.CalendarMONTH)+1)+月+c1.ge(jva.uilClendrDAY_OF_MON)+日+1.get(jaa.util.Calnr.HR)+:+c1.get(jva.utilCledar.MNUTE):1get(jva.uti.Clenar.EN); 第14页共 2 页 11401班Jaa课程设计报告书5、
11、程序清单impot avaawt.BodeLyou;mortav.awt.Buttn;mprt javawt.Fame;imprtava.wt.event.ionEent;ipot java.wtvent.cionLtener;mport jaa.atvent.WindowEvet;mortava.awt.event.WidoLiseer;mort jaautl.Caln;import jva.uScanner;iortjavaaw.vent.indoAdapter;imporjvax.wigJButon;iport jvax.wing.Jael;impt av.applt.Appe;mprt
12、vaawt.*;impot java.wt.Clr;plic casBakSysempbli statc voidmain(ig args) /013/1/ 星期二 18:58:4修改 /顾客初始化Sysem.otpintln(*); System.prin(*请输入账号:*Sstm.ot.printl(* kAccount ba= nw BanAccount(); Cust c = nw Cus();c.ID();/GUIFram ae= new Frae(欢迎光临数媒银行!Buttn b1 =ne Butn(银行业务 Bob = ne Button( Button b3 =new Butt
13、n(退出第页 共 23 页 1141班Jv课程设计报告书 /增加事件处理器 1.addAcinListner(nwBanccount();/与ActoEent e关联 b3.addActnLisenr(newEit();/与ctionEent e关联 /ava中的组件若想添加事件处理器,都会使用形如addXxxLinr的方法来添加。 /与窗口相关/关闭窗口fram.adWindoLitener(ne MyWndwLisener(); frme.add(b1,BorderayutNORT); frae.d(b2,BrderLayut.CENER); frame.ad(3,ordrLayouSOU
14、T);/repk();ramsetSie(200,20);/设定窗口大小 rame.stBounds(200, 200,00, 20);/设定窗口大小、位置 ra.stVisil(true);/运行 /2013/1224 星期二:06:38修改clas Cs plicvoid ID()new KB(); int c B.extIt();swich(ct) case 111:this.Cs();beak; cse 2:this.Cust2(); break; case 333:thi.Cust3();k;第16页 共 2 页 12140班Jav课程设计报告书defal:Systeou.pintl
15、n( Custc e Cust(); cID(); blc vo C1() Ssem.out.pritl(请输入密码: innu=0;new KB(); int ky.etnt();if(key = 12345) System.tprintln(欢迎您star: else Stem.ou.println(对不起,您输入有误,请重新输入: hi.Cust();pulic oidust() Sstm.out.prnt(请输入密码: newKB(); intkey=KBnetInt(); i(ky=64) Syem.out.prntln(欢迎您小涵: else Stem.outritln(对不起,您
16、输入的有误,请重新输入: hiCust2();pui vidCt3() ystmutrntln(请输入密码: new (); it keyK.nexnt(); 第17页 共 3 页 1101班Java课程设计报告书f(ky 469) Sstem.ot.pintln(欢迎您数媒: ese Sytem.out.println(对不起,您输入的有误,请重新输入: i.Cus3(); clas Exitimpleents cionLister pubc voi atioermed(tivnte) Sytem.outprinln(*窗口已关闭* Sstem.ritln(n*欢迎下次光临!* Systm.
17、exit(0);/银行系统classnAcount implemets AconListene oule eftony;/账户余额oul savoey;/基础资金,算取利息的固定资金 /n,控制防止重复操作后,总余额累加一年中的利息 i n=0; /初始化账户余额,假定有500.0元 pubic nkAcont()savemoney =500.0; lftmoney = 000;/计算存储时间 public void Caea() /显示并计算存储时间 Calendar = CalendrtInstane(); 下面打印当前时间第1页共23页 11401班a课程设计报告书Ssteoutpritln(c1.t(a.uti.Calndar.YER)+年+(c1.et(java.utl.Calndar.MONTH)+c1.get(a.utilCendarDY_OF_NH)+日+g(jav.utilClen.HOR)+:+cget(java.utl.CalendrMNUT)+:+c.et(jaautlCalendr.SECOND);/余额 ublic doublgetLeftne()retrn lefoney; /存款pubic voidsavoey(be m)/fo与um控制防止重复操作后,总余额累加一年中的利息 or(t i=0;i0;i+)