JAVA课程设计报告ATM机模拟系统

上传人:沈*** 文档编号:99760977 上传时间:2022-06-01 格式:DOC 页数:22 大小:132.50KB
收藏 版权申诉 举报 下载
JAVA课程设计报告ATM机模拟系统_第1页
第1页 / 共22页
JAVA课程设计报告ATM机模拟系统_第2页
第2页 / 共22页
JAVA课程设计报告ATM机模拟系统_第3页
第3页 / 共22页
资源描述:

《JAVA课程设计报告ATM机模拟系统》由会员分享,可在线阅读,更多相关《JAVA课程设计报告ATM机模拟系统(22页珍藏版)》请在装配图网上搜索。

1、. -Java语言程序设计课程设计报告题目: ATM柜员机专业:信息与计算科学*:23*:单 焱指导教师: 李 又 良 成绩:2021 年 12 月 10 日. 优选-. -目 录1课程设计研究背景及意义12课程设计题目描述和根本功能设计要求23系统需求分析23.1 功能需求分析23.2 其他需求分析34 系统设计34.1 总体设计34.2 ATM柜员机界面设计44.3 各功能模块设计55678994.4 异常处理情况说明105 系统实现与测试106 课程设计总结136.1 遇到的问题及解决方法136.2 心得体会14参考文献14附录源码141课程设计研究背景及意义这次课程设计是通过JAVA编

2、程来实现ATM柜员机的功能。以前,人们用手算取钱,不管从方便的角度还是速度的角度来看都不及现在。电子技术的不断开展使得ATM自动化的功能不断完善。在二十一世纪的今天,ATM柜员机是人们生活中重要的工具,所以,对ATM柜员机的研究的课程设计具有重大意义。这次课程设计的主要目的是结合面向对象程序设计课程,培养我们面向对象开发的思维,初步了解软件开发的一般流程,提高用JAVA编程的实际动手能力并增强大家对面向对象的了解。这次课程设计的主要内容是独立用JAVA语言开发一个小的应用程序。2 课程设计题目描述和根本功能设计要求本次设计的ATM柜员机主要是由各个Windows窗口组成,它是由登录页面、选择效

3、劳、取款、查询余额、修改密码和退卡等功能。它的各种按钮的事件和功能可以简单的模拟ATM柜员机的要求。组员分工:组长单焱:负责分配其他组员的任务,构建需求分析,系统实现及异常处理情况,调试程序等,把握ATM柜员机的整体布局。组员1*星:负责登陆界面模块,选择效劳模块及退卡模块,编写相应代码。组员2王玲玲:负责取款、修改密码、查询余额模块,编写相应代码。3 系统需求分析3.1 功能需求分析本ATM柜员机的主要功能如下所述:要求使用图形用户界面。当输入给定的卡号和密码初始卡号为000000和密码为123456时,系统能登录ATM柜员机系统,用户可以按照以下规则进展:l 查询余额:初始余额为50000

4、元l ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。l ATM存款:不能出现负存款。l 修改密码:只有旧密码正确,新密码符合要求,且两次输入一样的情况下才可以成功修改密码。3.2 其他需求分析1性能描述实时性好、灵活性强、易于不同年龄阶段的人操作。2设计约束开发工具:Eclipse3.2.运行环境:Windows 2000以上。3界面要求以Windows窗口形式显示,标题栏为ATM柜员机名称,右上角有最小化按钮、最大化按钮、关闭按钮,不同的窗口中有不同的按钮和选择菜单。4 系统设计4.1 总体设计本次设计的ATM柜员机主要是由登录页面模块还由选择效劳模块组成

5、,其中选择效劳模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。如图:图1 ATM功能构造示意图4.2 ATM柜员机界面设计一个系统的界面应该要简单明了,当然样式美观就更好了。本次设计的界面主要是由窗体组成,操作简单。而每一个窗口则执行相应的功能。一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。界面主要分为窗体、菜单、按钮和文本输入框几个局部,分别执行相应的操作。1窗体的设计窗体整个框架使用Frame类构造,Frame有自己的外边框和自己的标题,创立Frame时可以指定其窗口标题,我创立的窗口标题是各个不同功能的模块的名字,比方说查询余额,还有取款

6、等。相应源代码为:WindowBo*(String s)super(s); 、Selection(String s,Account act)super(s);向Frame窗口中添加组件使用add()。例如:button1 = new Button(存款);p1.add(button1);this.add(p1);每个Frame在其右上角都有三个控制图标,分别代表将窗口最小化、窗口最大化和关闭的操作,其中最小化和最大化操作Frame可自动完成,而关闭窗口操作实现需要书写有关的代码,在我的程序中我采用的是对WINDOWS_CLOSING事件做出响应,调用dispose()方法关闭窗口。Frame也

7、可以引发WindowsEvent类代表的窗口事件。相应源代码为:addWindowListener(new WindowAdapter() /窗口侦听器,以从此窗口接收窗口事件public void windowClosing(WindowEvent e) /处理窗口关闭事件 System.e*it(0););2窗体的主要构造的设计(网格布局)我所设计的窗口的主要构造的特点就是每个窗口都对应着一个特定的功能。比方说报各种各样的错,还有各种查询余额、取款、选择效劳等,所以它们都是由各种按钮和文本框,标签组成的,而联系各个窗体成为一个整体的就是各个按钮的监听事件。所以整个设计就趋向简单化了。为了定

8、义各个按钮所对应的命令和操作,首先需要将各个按钮注册给实现了动作事件的监听接口ActionListener的监听者,然后为监听者定义actionPerformed(ActionEvent e)方法,在这个方法中调用e.getSource()或e.getActionmand()来判断用户点击的菜单子项,并完成这个菜单子项定义的操作。4.3 各功能模块设计4.3.1 登陆页面模块设计与ATM柜员机打交道比拟多的,也是大家对平安比拟关心的问题:密码。所以第一个界面就是要输入密码和卡号才能继续效劳。我定义了文本框累的对象tf1,tf2。抓药是用于输入单行的文本;文本区调用public String g

9、etTe*t()方法,获取用户想要的字符串。用来判断输入的密码和卡号是否正确,如果不正确的话,则弹出密码或卡号错误的警告框,并用dispose()关掉窗口。此模块相应的局部源代码为:public void actionPerformed(ActionEvent e)Account act; String card; String pwd;act=new Account(000000,Devil,123456,50000);/初始化 /*选择各种效劳*/if(e.getSource() = button1)String number1,number2; number1=tf1.getTe*t()

10、;number2=tf2.getTe*t();/*判断密码和卡号是否正确*/if(act.get_Code().equals(number1)&(act.get_Password().equals(number2)dispose(); /*卡号和密码都正确则进入功能选择窗口*/Selection s = new Selection(选择效劳,act);elsedispose();JOptionPane.showMessageDialog(null, 您输入的卡号或密码不正确,请核实后再确定,消息!, JOptionPane.INFORMATION_MESSAGE);new WindowBo*(

11、登录界面); /*退卡*/if(e.getSource()=button2)dispose();JOptionPane.showMessageDialog(null, 谢谢使用!, 消息!,JOptionPane.INFORMATION_MESSAGE);System.e*it(0); 4.3.2 选择效劳模块设计actionPerformed(ActionEvent e)中的参数e,监视器就会知道所发生的事件,对此事件进展处理。其中的局部源代码为:p.add(new Label(请选择你要的效劳);this.add(p);button1 = new Button(存款);p1.add(but

12、ton1);this.add(p1);button2 = new Button(取款);p2.add(button2);this.add(p2);button3 = new Button(查询余额);p3.add(button3);this.add(p3);button4 = new Button(退出);p4.add(button4);this.add(p4);button5 = new Button(修改密码);p5.add(button5);this.add(p5);this.addWindowListener(new WindowAdapter()public void windowC

13、losing(WindowEvent e)System.e*it(0););button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);setBounds(300,300,300,300);setVisible(true);validate();public void actionPerformed(ActionEvent e)if(e.getSource()=button2)/取款dispose()

14、;GetBalance gb = new GetBalance(取款,act);if(e.getSource()=button3)/查询余额Query q =new Query(查询余额,act);dispose();else if(e.getSource()=button4)/退出dispose();JOptionPane.showMessageDialog(null, 谢谢使用!, 消息!,JOptionPane.INFORMATION_MESSAGE);System.e*it(0);else if(e.getSource()=button5)/修改密码ChangePassword cp

15、= new ChangePassword(修改密码,act);dispose();4.3.3 取款模块设计在取款模块中,和其他的界面也是同样的构造。也是有一个文本框和一个按钮还有标签组成的。用户在文本框中输入他想取的数额,但是必须是100的倍数,而且每一次最多只能取5000块。当然了取款的时候也不能超过卡里的余额,再就是卡里的余额不可以为负,否则就会弹出报错的窗口。其方法为:if (e.getSource() = button) if (act.get_Money() 0) / 判断余额是否为负dispose();JOptionPane.showMessageDialog(null, 余额为负

16、数, 消息,JOptionPane.INFORMATION_MESSAGE); elseif (money = 5000) / 取钱数为100的倍数或不大于5000dispose();JOptionPane.showMessageDialog(null,每次只能取100的倍数,而且不能超过5000,请重新输入你想取的钱!, 消息,JOptionPane.INFORMATION_MESSAGE);act.get_Money();this.setVisible(false);Selection s = new Selection(选择效劳, act);/ 返回选择效劳窗口 elseif (mone

17、y act.get_Money() / 判断取款数额是否大于余额dispose();JOptionPane.showMessageDialog(null, 超过已有的钱数,请重新输入你想取的钱!,消息, JOptionPane.INFORMATION_MESSAGE);this.setVisible(false);Selection s = new Selection(选择效劳, act);4.3.4 修改密码模块设计在修改密码模块中,首先你必须要输入你的旧密码是否正确,否则就会报错。再一个就是要两次输入你的新密码,且两次药匹配,否则也会报错,然后再重新回到修改密码的界面。在修改密码时用到的方

18、法为:/*判断旧密码是是否正确*/if(pwd2.equals(act.get_Password()/*判断两次输入的密码是否匹配*/if(pwd3.equals(pwd4) /*如果都正确的话就设置新密码*/act.setPassword(pwd3);dispose();Selection s = new Selection(选择,act);else dispose();ErrorWarn2 ew2 = new ErrorWarn2(消息,act); else this.setVisible(false);ErrorWarn3 ew1 = new ErrorWarn3(消息,act); di

19、spose();在查询余额模块设计中, 和其他的界面的构造相差不多。有一个余额显示和一个按钮还有标签组成的。查询时用到的方法:Query(String s, Account act) / 构造函数super(s);this.act = act;button = new Button(确定);/ Te*tField tf = new Te*tField(6);Panel panel1 = new Panel();Panel panel = new Panel();panel1.add(new Label(你的余额为: + act.get_Money();/ 查询余额的方法button.addAc

20、tionListener(this);panel.add(button);this.add(panel);this.add(panel1);this.setLayout(new GridLayout(2, 1);this.addWindowListener(new WindowAdapter() publicvoid windowClosing(WindowEvent e) System.e*it(0););setBounds(300, 300, 300, 300);setVisible(true);4.3.6 退卡模块设计在退卡模块设计中,这个方法就更加的简单了,它只是用了if(e.getS

21、ource()=button4)/退出dispose();JOptionPane.showMessageDialog(null, 谢谢使用!, 消息!,JOptionPane.INFORMATION_MESSAGE);System.e*it(0);这个方法就可以实现了,这里就不再多说了。4.4 异常处理情况说明1翻开、保存文件时的异常处理需要处理的异常:IOE*ception2数据库访问时的异常处理需要处理的异常:SQLE*ception3加载类时的异常处理需要处理的异常:ClassNotFindE*ception,当应用程序试图使用Class类中的forName方法通过字符串名加载类时,但是

22、没有找到具有指定名称的类的定义。4加载URL时的异常需要处理的异常:MalformedURLE*ception,抛出这一异常指示出现了错误的 URL。或者在标准字符串中找不到任何合法协议,或者无法分析字符串。5 系统实现与测试1编译运行程序后,将会看到如下的界面,如图2所示。如果输入的密码或卡号不正确的话就会报右以下列图的错误。图2 主界面登陆页面2选择效劳界面效果当输入的密码和卡号正确,单击确定后就会进入到选择效劳的界面,如图3所示。然后就可以选择所需要的效劳了。图3 选择效劳界面3取款界面,如图4所示。图4 取款界面当输入的钱数不是100的倍数或每一次大于5000时就会报图5的错误。图5

23、输入错误1当取款时如果超过卡里的余额的话就会报图6的错误。图6 输入错误24查询余额界面,如图7所示。图7 查询余额界面5修改密码界面,如图8所示。图8 修改密码界面当输入的初始密码不正确会报图9所示错误。图9 输入错误1当2次输入的新密码不同会报图10所示错误。图10 输入错误2经过测试,所有的功能根本上都实现了,而且运行正常。6 课程设计总结6.1 遇到的问题及解决方法在此次课程设计中遇到了一些问题,如:对于面向对象的方法了解不够透彻,运用到实际的软件开发中存在着困难;对于Java语言,只学习到了一些最根本的知识,这导致编写程序时经常出现一些语法错误,而且要在短时间内用Java语言来设计一

24、个具体的系统是一个较大的挑战;还有对于正规开发一个系统的流程不熟悉,适应起来比拟慢,编写各个模块相对应的操作时,自己感觉难以动手,这说明所学的知识不能灵活运用到实际中。 对于以上的问题,自己有清楚的认识,解决方法是需要大量阅读相关的书籍,对于书上以及上下载的资料中的Java实例必须有清楚的理解,还有就是多跟精通此方面的教师和同学交流,取其精华。对于实际动手能力与系统开发的流程的适应,必须多进展实际的练习与操作,才能有大的进步。6.2 心得体会在这次的课程设计中,主要运用了Java语言的界面设计、异常处理、Awt控件、Swing控件,输入输出流等,综合运用了Java语言。深刻感受到了面向对象语言

25、中类库的强大功能,掌握了运用Java中的类实现*些根本功能,并学会了自己查询使用类的方法,为以后的面向对象语言的自学奠定了根底。通过这次课程设计我学到了一些东西,这次的课程设计中,主要是运用JAVA语言来编写一个小的应用程序,当然还可以用其他的技术来辅助。在这个小应用程序当中,我用了Java外还用了Swing控件。输入输出流等。由于以前学的不是很扎实,而且还有些知识我们都是没有学过的,这就要求我们去查相关的书籍,还有就是和同学之间的交流。正因为这样,才锻炼了我的自学的能力,还有就是加深了我对各个知识点的认识,并且提高了我对专业的学习的兴趣,为我以后的学习打下了根底。此外,还感受到了面向对象语言

26、的类库的强大的功能,掌握了运用JAVA中的类实现*些根本功能,并学会了自己查询使用类的方法,也就是要会用API文档,为以后更好的学习面向对象语言奠定了根底。通过努力,这次课程设计终于完成了,在这个过程当中,学到了很多的知识,同时也感谢我的同学的帮助和指导。在以后的学习当中,我会更加努力的学习好专业知识,并将所学的知识用于实践当中去,以便结实掌握知识。参考文献1 王萌,*婧,来宾著.JAVA程序设计M 冶金工业,20042 黄聪明 精通 JAVA2程序设计M:清华大学,2004.43 王文涛,袁海燕 JAVA实用程序设计100例M:人民邮电,2005.54 雍俊海 JAVA程序设计M:清华大学,

27、2006.85 *宝林 JAVA程序设计与案例M:高等教育,2006.11附录源码/*登陆页面首窗口*/importimportimportimportimportpublicclass WindowBo*e*tends Frame implements ActionListener Bo* baseBo*, bo*1, bo*2;Te*tField tf1, tf2;Button button1;Button button2;WindowBo*(String s) / 构造方法super(s);tf1 = new Te*tField(6);tf2 = new Te*tField(6);bo*

28、1 = Bo*.createVerticalBo*();bo*1.add(new Label(请输入你的卡号); / 输入卡号bo*1.add(Bo*.createVerticalStrut(8);bo*1.add(new Label(请输入你的密码);/ 输入密码bo*2 = Bo*.createVerticalBo*();bo*2.add(tf1);/ bo*2.add(new Te*tField(16);bo*2.add(Bo*.createVerticalStrut(8);bo*2.add(tf2);/ bo*2.add(new Te*tField(16);baseBo* = Bo*.

29、createHorizontalBo*();baseBo*.add(bo*1);baseBo*.add(Bo*.createHorizontalStrut(10);baseBo*.add(bo*2);add(baseBo*);button1 = new Button(确定);/ 参加按钮button1.addActionListener(this);add(button1);button2 = new Button(退卡);/ 退卡按钮button2.addActionListener(this);add(button2);setLayout(new FlowLayout();/* 监听器 *

30、/this.addWindowListener(new WindowAdapter() publicvoid windowClosing(WindowEvent e) System.e*it(0););setBounds(300,300,220,220);setVisible(true);publicvoid actionPerformed(ActionEvent e) Account act;String card;String pwd;act = new Account(000000, Devil, 123456, 50000);/ 初始化/* 选择各种效劳 */if (e.getSour

31、ce() = button1) String number1, number2;/ 输入的两个卡号和密码的变量number1 = tf1.getTe*t();number2 = tf2.getTe*t();/* 判断两次输入的卡号和密码是否正确 */if (act.get_Code().equals(number1)& (act.get_Password().equals(number2) dispose();Selection s = new Selection(选择效劳, act); else dispose();JOptionPane.showMessageDialog(null, 您输

32、入的卡号或密码不正确,请核实后再确定,消息!, JOptionPane.INFORMATION_MESSAGE);/ 报输入密码或卡号不正确new WindowBo*(登录界面);if (e.getSource() = button2) System.e*it(0);dispose();/ 退出/*主函数*/publicclass ATM publicstaticvoid main(String args) new WindowBo*(登录页面);/* 选择效劳窗口*/importimportpublicclass Selection e*tends Frame implements Acti

33、onListener Button button1, button2, button3, button4, button5;Panel p1 = new Panel();Panel p2 = new Panel();Panel p3 = new Panel();Panel p4 = new Panel();Panel p5 = new Panel();Panel p = new Panel();Account act;public Selection() Selection(String s, Account act) super(s);this.act = act;this.setLayou

34、t(null);this.setLayout(new GridLayout(6, 1);p.add(new Label(请选择你要的效劳);this.add(p);/* 各种效劳功能 */button1 = new Button(存款);p1.add(button1);this.add(p1);button2 = new Button(取款);p2.add(button2);this.add(p2);button3 = new Button(查询余额);p3.add(button3);this.add(p3);button4 = new Button(退出);p4.add(button4);t

35、his.add(p4);button5 = new Button(修改密码);p5.add(button5);this.add(p5);this.addWindowListener(new WindowAdapter() publicvoid windowClosing(WindowEvent e) System.e*it(0););button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);setB

36、ounds(300, 300, 300, 300);setVisible(true);validate();publicvoid actionPerformed(ActionEvent e) if (e.getSource() = button2) / 取款dispose();GetBalance gb = new GetBalance(取款, act);if (e.getSource() = button3) / 查询余额Query q = new Query(查询余额, act);dispose(); elseif (e.getSource() = button4) / 退出dispose

37、();JOptionPane.showMessageDialog(null, 谢谢使用!, 消息!,JOptionPane.INFORMATION_MESSAGE);System.e*it(0); elseif (e.getSource() = button5) / 修改密码ChangePassword cp = new ChangePassword(修改密码, act);dispose();/*取款功能*/importimportimportimportpublicclass GetBalance e*tends Frame implements ActionListener Bo* bas

38、eBo*, bo*1, bo*2;Button button;Te*tField tf;Account act;GetBalance(String s, Account act) / 构造函数super(s);this.act = act;button = new Button(确定);Panel panel = new Panel();Panel panel1 = new Panel();tf = new Te*tField(6);this.setLayout(new GridLayout(2, 1);panel1.add(new Label(请输入你想取钱的数目);panel1.add(t

39、f);panel.add(button);this.add(panel1);this.add(panel);button.addActionListener(this);this.addWindowListener(new WindowAdapter() publicvoid windowClosing(WindowEvent e) System.e*it(0););setBounds(300, 300, 300, 300);this.setVisible(true);publicvoid actionPerformed(ActionEvent e) double money;money =

40、Double.parseDouble(tf.getTe*t().trim();if (e.getSource() = button) if (act.get_Money() 0) / 判断余额是否为负dispose();JOptionPane.showMessageDialog(null, 余额为负数, 消息,JOptionPane.INFORMATION_MESSAGE); elseif (money = 5000) / 取钱数为100的倍数或不大于5000dispose();JOptionPane.showMessageDialog(null,每次只能取100的倍数,而且不能超过5000,

41、请重新输入你想取的钱!, 消息,JOptionPane.INFORMATION_MESSAGE);act.get_Money();this.setVisible(false);Selection s = new Selection(选择效劳, act);/ 返回选择效劳窗口/ dispose(); elseif (money act.get_Money() / 判断取款数额是否大于余额dispose();JOptionPane.showMessageDialog(null, 超过已有的钱数,请重新输入你想取的钱!,消息, JOptionPane.INFORMATION_MESSAGE);thi

42、s.setVisible(false);Selection s = new Selection(选择效劳, act);/ 返回选择效劳窗口/*修改密码功能*/importimportimportimportimportimportimportimportimportimportimportpublicclass ChangePassword e*tends Frame implements ActionListener Panel panel1 = new Panel();Panel panel2 = new Panel();Panel panel3 = new Panel();Panel p

43、anel = new Panel();Te*tField tf4, tf5, tf6;Button button;Account act;ChangePassword(String s, Account act) super(s);this.act = act;tf4 = new Te*tField(6);tf5 = new Te*tField(6);tf6 = new Te*tField(6);button = new Button(确定);button.addActionListener(this);/* 建立新密码 */panel1.add(new Label(请输入你的旧密码:);pa

44、nel1.add(tf4);panel2.add(new Label(请输入你的新密码:);panel2.add(tf5);panel3.add(new Label(请再次输入你的新密码);panel3.add(tf6);panel.add(button);this.add(panel1);this.add(panel2);this.add(panel3);this.add(panel);setLayout(new GridLayout(4, 1);setBounds(300, 300, 300, 300);this.setVisible(true);/* 窗口事件 */this.addWin

45、dowListener(new WindowAdapter() publicvoid windowClosing(WindowEvent e) System.e*it(0););/* 判断事件源,看条件是否成立再修改密码 */publicvoid actionPerformed(ActionEvent e) if (e.getSource() = button) String pwd2, pwd3, pwd4;pwd2 = tf4.getTe*t();pwd3 = tf5.getTe*t();pwd4 = tf6.getTe*t();if (pwd2.equals(act.get_Passwo

46、rd() / 判断旧密码是否正确if (pwd3.equals(pwd4) / 判断两次输入的新密码是个匹配act.setPassword(pwd3);/ 启用新的密码dispose();JOptionPane.showMessageDialog(null, 密码修改成功!, 消息,JOptionPane.INFORMATION_MESSAGE);Selection s = new Selection(选择, act);/ 返回效劳窗口 else this.setVisible(true);/ ErrorWarn2 ew = new ErrorWarn2(消息,act);dispose();J

47、OptionPane.showMessageDialog(null, 两次密码输入不匹配, 消息,JOptionPane.INFORMATION_MESSAGE);Selection s = new Selection(选择, act);/ 返回效劳窗口 else this.setVisible(false);dispose();JOptionPane.showMessageDialog(null, 初始密码输入错误, 消息,JOptionPane.INFORMATION_MESSAGE);Selection s = new Selection(选择, act);/ 返回选择效劳窗口/*查询余

48、额功能*/importimportimportimportpublic class Query e*tends Frame implements ActionListener Button button;Account act;Query(String s, Account act) / 构造函数super(s);this.act = act;button = new Button(确定);/ Te*tField tf = new Te*tField(6);Panel panel1 = new Panel();Panel panel = new Panel();panel1.add(new L

49、abel(你的余额为: + act.get_Money();/ 查询余额的方法/ panel1.add(tf);button.addActionListener(this);panel.add(button);this.add(panel);this.add(panel1);this.setLayout(new GridLayout(2, 1);this.addWindowListener(new WindowAdapter() publicvoid windowClosing(WindowEvent e) System.e*it(0););setBounds(300, 300, 300, 3

50、00);setVisible(true);publicvoid actionPerformed(ActionEvent e) if (e.getSource() = button) dispose();Selection s = new Selection(选择效劳, act);/ 返回选择效劳窗口/*账户*/import/* 该类为实现客户信息及局部功能 */publicclass Account private String code = null; / 信用卡号private String name = null; / 客户*private String password = null;

51、 / 客户密码privatedoublemoney = 0.0; / 卡里金额public Account(String code, String name, String password, double money) this.code = code;this.name = name;this.password = password;this.money = money;public String get_Code() / 取得卡号returncode;public String get_Name() / 取得名字returnname;public String get_Password() / 取得密码returnpassword;publicdouble get_Money() / 重置余额returnmoney;/* 得到剩余的钱的数目 */protectedvoid set_Balance(double mon) money -= mon;/* 重置密码的方法 */public String setPassword(String pwd) password = pwd;returnpassword;. 优选-

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!