《ATM自动取款机系统的设计及实现--代码.pdf》由会员分享,可在线阅读,更多相关《ATM自动取款机系统的设计及实现--代码.pdf(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 ATM 自动取款机系统的设计与实现-代码 1.实现类/说明:1.管理员登录密码是:luolin /初始用户 import java.util.Scanner;public class Achieve Scanner in=new Scanner(System.in);public void login_interface()/初始界面 System.out.println(nn*);System.out.println(*欢迎进入 ATM 机 *);System.out.println(*);System.out.println(选择登录方式:);System.out.println(1.管
2、 理 员 );System.out.println(2.客 户 );System.out.println(3.退 出 );System.out.println(*n);System.out.print(请输入(13):);int n=in.nextInt();Bank_Manager bm=new Bank_Manager();User u=new User();switch(n)case 1:bm.manager_login_passwd();case 2:u.login();case 3:System.out.println(本次操作结束!);break;default:System.ou
3、t.println(你输入有误,本次操作结束!);System.exit(0);public static void main(String args)Achieve a=new Achieve();a.login_interface();2.用户类:import java.util.Iterator;import java.util.Scanner;public class User Scanner in=new Scanner(System.in);void login()/登录 boolean sign=true;boolean flag=true;Achieve a=new Achie
4、ve();System.out.println(请输入帐号:);int n=in.nextInt();System.out.println(请输入密码:);String m=in.next();Iterator iter=Bank_Manager.user_list.iterator();while(iter.hasNext()Bank_Manager b=iter.next();while(b.zhanghao=n&b.passwd.equals(m)sign=false;if(flag)user_interface(b);System.out.print(请输入(16 或其他):);int
5、 s=in.nextInt();switch(s)case 1:deposit(b);System.out.println(n 请按“任意字符+回车”回到登录界面);in.next();user_interface(b);flag=false;continue;case 2:draw_money(b);System.out.println(n 请按“任意字符+回车”回到登录界面);in.next();user_interface(b);flag=false;continue;case 3:serch_money(b);System.out.println(n 请按“任意字符+回车”回到登录界面
6、);in.next();user_interface(b);flag=false;continue;case 4:transform_money(b);System.out.println(n 请按“任意字符+回车”回到登录界面);in.next();user_interface(b);flag=false;continue;case 5:alter_passwd(b);System.out.println(n 请按“任意字符+回车”回到登录界面);in.next();user_interface(b);flag=false;continue;case 6:alter_login();Syst
7、em.out.println(n 请按“任意字符+回车”回到登录界面);in.next();user_interface(b);flag=false;continue;default:a.login_interface();if(sign)System.out.println(账号或密码错误,退出主界面。);System.out.println(输入“任意字符+回车”初始登录界面!);in.next();a.login_interface();public void user_interface(Bank_Manager b)System.out.println(nn*);System.out
8、.println(欢迎+b.grade+:+b.name);System.out.println(*);System.out.println(选择项目:);System.out.println(1.存款 );System.out.println(2.取款 );System.out.println(3.查询余额 );System.out.println(4.转账 );System.out.println(5.修改密码 );System.out.println(6.更改登录 );System.out.println(按 其 他 任 意 数 字 退 出 );System.out.println(*n
9、n);void deposit(Bank_Manager b)/存款 System.out.println(请输入要存入的金额:);double n=in.nextDouble();if(n1000)System.out.println(您存入的金额超出银行限制 1000,请重新操作!);deposit(b);else b.money+=n;Bank_Manager.total_money+=n;System.out.println(存款成功!);void draw_money(Bank_Manager b)/取款 System.out.println(请输入取款金额:);double mon
10、=in.nextDouble();if(b.grade.equals(VIP 用户)System.out.println(欢迎VIP 会员:+b.name);if(Bank_Manager.total_money-mon)=0.0)if(b.money1000)System.out.println(您本次操作,需要透支的金额超过1000,请重新操作金额低于1000,取款失败!);else System.out.println(本次取款您需要透支:+(b.money-mon)+元);b.money-=mon;Bank_Manager.total_money-=mon;System.out.pri
11、ntln(取款成功!);else b.money-=mon;Bank_Manager.total_money-=mon;System.out.println(取款成功!);else System.out.println(抱歉,银行余额不足以供给你的需要!);else if(Bank_Manager.total_money-mon)=0.0)System.out.println(欢迎普通会员:+b.name);if(b.moneymon)b.money=(double)(b.money-mon);Bank_Manager.total_money=(double)(Bank_Manager.tot
12、al_money-mon);System.out.println(取款成功!);else System.out.println(对不起,您的余额不足!);System.out.println(操作失败!);else System.out.println(抱歉,该银行的余额不足以满足您的取款金额!);void serch_money(Bank_Manager b)/显示余额;System.out.print(账号:+b.zhanghao+);System.out.print(用户名:+b.name+);System.out.print(余额:+b.money+);System.out.print
13、(等级:+b.grade+);System.out.println();void transform_money(Bank_Manager b)/转账 boolean sign=true;System.out.println(请输入需要转账的帐号:);int zhang=in.nextInt();Iterator itr=Bank_Manager.user_list.iterator();while(itr.hasNext()Bank_Manager B=itr.next();if(B.zhanghao=zhang)System.out.print(请输入转账的金额:);double n=in
14、.nextDouble();if(n=b.money)B.money+=n;b.money-=n;System.out.print(转账成功,您的余额为:+b.money);else System.out.println(您卡里的余额不足以满足你的转账余额!);sign=false;break;if(sign)System.out.println(你输入的卡号有误!);void alter_passwd(Bank_Manager b)/更改密码 System.out.println(请输入新密码:);b.passwd=in.next();System.out.println(修改密码成功!);
15、System.out.println(您已经修改了密码请重新登录);System.out.println(输入“任意键+回车”重新登录);in.next();login();void alter_login()/更改登录 login();public static void main(String args)User u=new User();u.login();3.银行管理员类 import java.text.Collator;import java.util.Arrays;import java.util.Comparator;import java.util.HashSet;impor
16、t java.util.Iterator;import java.util.Locale;import java.util.Scanner;import java.util.Set;public class Bank_Manager int zhanghao;String name;double money;String grade;String passwd;String menager_passwd=new String(luolin);/管理员密码 static double total_money=10000.0;/银行总额 默认10000 元;static Set user_list
17、=new HashSet();static Scanner in=new Scanner(System.in);void manager_interface()/管理员界面 System.out.println(nn*);System.out.println(*管理员 *);System.out.println(*);System.out.println(选择项目:);System.out.println(1.增加用户 );System.out.println(2.删除用户 );System.out.println(3.查询用户 );System.out.println(4.查询所有用户 );
18、System.out.println(5.打印银行余额 );System.out.println(6.退 出 );System.out.println(*n);System.out.print(请输入(16):);int m=in.nextInt();Achieve a=new Achieve();switch(m)case 1:add_user();System.out.println(nn请输入“任意键+回车键”退回管理员界面nn);in.next();manager_interface();case 2:remove_user();System.out.println(nn 请输入“任意
19、键+回车键”退回管理员界面nn);in.next();manager_interface();case 3:print_alone_user();System.out.println(nn 请输入“任意键+回车键”退回管理员界面nn);in.next();manager_interface();case 4:print_all_user();System.out.println(nn 请输入“任意键+回车键”退回管理员界面nn);in.next();manager_interface();case 5:print_Bank_money();System.out.println(nn 请输入“任
20、意键+回车键”退回管理员界面nn);in.next();manager_interface();case 6:a.login_interface();default:manager_interface();void manager_login_passwd()/登录管理员用户鉴定 Achieve a=new Achieve();System.out.println(请输入管理员的密码:);if(in.next().equals(menager_passwd)System.out.println(欢迎罗林!);System.out.println(登录成功!);System.out.printl
21、n(输入“任意键+回车”继续);in.next();manager_interface();else System.out.println(输入密码有误,登录失败!);System.out.println(输入“任意键+回车”回到初始界面!);in.next();a.login_interface();void add_user()/增加用户 int _zhanghao;String _name;String _grade=null;String _passwd;double _money;System.out.println(*);System.out.println(请输入用户帐号:);_
22、zhanghao=in.nextInt();System.out.println(请输入账户姓名:);_name=in.next();System.out.println(请输入用户密码:);_passwd=in.next();System.out.println(请输入用户初始金额:);_money=in.nextDouble();System.out.println(请输入用户等级:);System.out.println(1.普通用户 2.VIP 用户);int n=in.nextInt();switch(n)case 1:_grade=new String(普通用户);break;ca
23、se 2:_grade=new String(VIP 用户);break;Bank_Manager b=new Bank_Manager(_zhanghao,_name,_passwd,_grade,_money);total_money+=_money;user_list.add(b);System.out.println(增加用户成功!);System.out.println(*);void print_message(Bank_Manager b)/输出账户信息 System.out.print(账号:+b.zhanghao+);System.out.print(用户名:+b.name+
24、);System.out.print(余额:+b.money+);System.out.print(等级:+b.grade+);void print_alone_user()/查询用户信息 boolean sign=true;System.out.println(*);System.out.print(请输入查询的用户帐号:);int n=in.nextInt();Iterator iter=user_list.iterator();while(iter.hasNext()Bank_Manager b=iter.next();if(n=b.getZhanghao()print_message(
25、b);sign=false;break;if(sign)System.out.println(您查询的用户不存在!);System.out.println(n*);/void print_all_user()/查询所有用户的信息(未排序)/boolean sign=true;/Iterator iter=user_list.iterator();/while(iter.hasNext()/print_message(iter.next();/sign=false;/System.out.println();/if(sign)/System.out.println(抱歉,给银行未添加任何用户!)
26、;/void print_all_user()/查询所有用户(排序版)if(user_list.size()=0)System.out.println(此银行未添加任何用户!);else System.out.println(请选择要进行排序的字段:1.账号+2.用户名+3.金额);int n=in.nextInt();switch(n)case 1:user_zhanghao_sort();break;case 2:user_name_sort();break;case 3:user_money_sort();break;default:System.out.println(n 输入有误,请
27、重新输入!n);print_all_user();void user_zhanghao_sort()/账号排序 boolean asc=false;boolean desc=false;System.out.println(请选择:1.升序 2.降序);int n=in.nextInt();switch(n)case 1:asc=true;break;case 2:desc=true;break;default:user_zhanghao_sort();Bank_Manager bm=new Bank_Manageruser_list.size();Bank_Manager bb=new Ba
28、nk_Manager();Iterator itr=user_list.iterator();while(itr.hasNext()for(int i=0;iuser_list.size();i+)bmi=itr.next();int arr=new intuser_list.size();for(int i=0;iuser_list.size();i+)arri=bmi.zhanghao;if(desc)for(int i=0;i arr.length;i+)/冒泡排序 for(int j=0;j arr.length-i-1;j+)int a=arrj;int b=arrj+1;if(a
29、b)arrj=b;arrj+1=a;if(asc)Arrays.sort(arr);/数组排序 for(int i=0;iarr.length;i+)Iterator it=user_list.iterator();while(it.hasNext()bb=it.next();if(arri=bb.zhanghao)print_message(bb);System.out.println();void user_name_sort()/用户名排序 Bank_Manager bm=new Bank_Manageruser_list.size();Bank_Manager bb=new Bank_
30、Manager();Iterator itr=user_list.iterator();while(itr.hasNext()for(int i=0;iuser_list.size();i+)bmi=itr.next();String arr=new Stringuser_list.size();for(int i=0;iuser_list.size();i+)arri=bmi.name;Arrays.sort(arr);Comparator c=Collator.getInstance(Locale.CHINA);Arrays.sort(arr,c);for(int i=0;iarr.len
31、gth;i+)Iterator it=user_list.iterator();while(it.hasNext()bb=it.next();if(arri.equals(bb.name)print_message(bb);System.out.println();void user_money_sort()/金额排序 boolean asc=false;boolean desc=false;System.out.println(请选择:1.升序 2.降序);int n=in.nextInt();switch(n)case 1:asc=true;break;case 2:desc=true;b
32、reak;default:user_zhanghao_sort();Bank_Manager bm=new Bank_Manageruser_list.size();Bank_Manager bb=new Bank_Manager();Iterator itr=user_list.iterator();while(itr.hasNext()for(int i=0;iuser_list.size();i+)bmi=itr.next();double arr=new doubleuser_list.size();for(int i=0;iuser_list.size();i+)arri=bmi.m
33、oney;if(desc)for(int i=0;i arr.length;i+)/冒泡降序排序 for(int j=0;j arr.length-i-1;j+)double a=arrj;double b=arrj+1;if(a b)arrj=b;arrj+1=a;if(asc)Arrays.sort(arr);for(int i=0;iarr.length;i+)boolean sign=true;Iterator it=user_list.iterator();while(it.hasNext()bb=it.next();if(arri=bb.money)sign=false;print
34、_message(bb);System.out.println();void remove_user()/删除用户 System.out.println(*);System.out.print(请输入需要删除的卡号:);int n=in.nextInt();Iterator iter=user_list.iterator();while(iter.hasNext()Bank_Manager b=iter.next();if(n=b.getZhanghao()user_list.remove(b);System.out.println(删除成功!);break;System.out.printl
35、n(*);void print_Bank_money()/打印银行总额;System.out.println(银行总额为:+total_money);public Bank_Manager(int _zhanghao,String _name,String _passwd,String _grade,double _money)/创建对象 zhanghao=_zhanghao;name=_name;passwd=_passwd;grade=_grade;money=_money;public Bank_Manager()/无参构造函数;int getZhanghao()return zhang
36、hao;static Bank_Manager a=new Bank_Manager(1301,张 三,zs1301,普通用户,300);Bank_Manager b=new Bank_Manager(1302,李 四,ls1302,普通用户,200);Bank_Manager c=new Bank_Manager(1315,罗 林,ll1315,VIP 用户,500);Bank_Manager d=new Bank_Manager(1306,胡 丹,hd1306,VIP 用户,400);user_list.add(a);user_list.add(b);user_list.add(c);us
37、er_list.add(d);total_money+=a.money;total_money+=b.money;total_money+=c.money;total_money+=d.money;public static void main(String args)Bank_Manager bm=new Bank_Manager();bm.manager_interface();实验要求:ATM 自动取款机系统的设计与实现 一.管理员:对 ATM 自动取款机客户进行增加、删除、查询及查询所有用户、打印银行余额等功能。1、增加用户功能界面 图 1.1 图 1.2 2、删除用户功能界面 按 1
38、,效果为图1.1 按 1,效果为图1.2 图 1.3 3、删除用户完成,查询该用户功能界面 图 1.4 4、查询所有用户功能界面 按 2,效果为图1.3 按 3,效果为图1.4 4.1、使用账户查询功能界面 图 1.5(a)4.2、使用用户名查询功能界面 图 1.5(b)按 4,效果为图1.5(a)、图1.5(b)、图 1.5(c)4.3、使用金额功能界面 图 1.5(c)5、打印银行余额功能界面 图 1.6 6、退出功能界面 按 5,效果为图1.6 按 6,效果为图1.7 图 1.7 二.用户:使用ATM 自动取款机进行现金交易。进行存取款、查询余额、设置密码、转账等操作。2.1 在整个的系
39、统中,首先用户要输入正确用户名及密码以后才可以进入主界面进行相关的操作。图 2.1 按2,效 果 为 图2.1,用户名与密码不匹配。图 2.2 2.2 存款功能:用户按照系统输入要求输入存款金额即可存入相应金额的现金。按 2,效果为图2.2 按 1,效果为图2.3 图 2.3 2.3 取款功能:用户按照系统输入要求输入取款金额即可取出相应 金额的现金。图 2.4 2.4 查询余额功能:用户可以查看账户所剩现金余额 按 2,效果为图2.4 按 3,效果为图2.5 图 2.5 2.5 转账功能:当点击转账功能选项,会出现转账的界面,这时就可以进行转账;分别输入转入的账户和转入的金额,转入成功后会显示当前账户的余额。图 2.6 2.6 修改密码功能:如果用户想要修改当前密码,通过系统可以设置新密码。按 4,效果为图2.6 图 2.7 2.7 更改登录功能:如果用户想要更改当前用户,则需要输入新的账号及密码,若输入的账户与密码不匹配,则提示重新输入。按 5,效果为图2.7 按 6,效果为图2.8,用 户 名 与 密 码 不匹配 图 2.8 图 2.9 按 6,效果为图2.9,用 户 名 与 密 码 匹配