电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java模擬實現ATM機

瀏覽:83日期:2022-08-15 11:37:03

Java模擬ATM機,供大家參考,具體內容如下

實現登錄,查詢,轉賬,取款,修改密碼,退出功能。

源碼

package bank;import java.io.*;import java.util.Scanner;//ATM類public class Atm { private String[] user;//用戶全部信息 private double money;//修改錢數 private double userMoney;//用戶的錢 private String newPassword; private String userInFo; private int index; private int a =0; private int count = 10; public void show(){//顯示界面 index = logIn(); if(index != -1){ working(); } } private String[] newStringUser(String[] str){ count=count+10; String[] newUser = new String[count]; for(int i=0;i<a;i++) newUser[i] = str[i]; return newUser; } private void getUser(){//從文件獲取全部用戶 String str; String[] strings = new String[count]; File file = new File('srcbankuser'); FileReader fileReader = null; BufferedReader bufferedReader = null; try{ fileReader = new FileReader(file); bufferedReader = new BufferedReader(fileReader); while((str = bufferedReader.readLine())!=null){ if(a<=count) strings[a++] = str; else strings = newStringUser(strings); } user = new String[a]; for(int i=0;i<a;i++) user[i] = strings[i]; strings = null; }catch(Exception e){ e.printStackTrace(); if((fileReader!=null)&&(bufferedReader!=null)){ try { bufferedReader.close(); fileReader.close(); } catch (IOException e1) { e1.printStackTrace(); } } } } private int logIn(){//用戶登錄 getUser(); String name,password,user; String[] a; int i = 0; int number = -1; Scanner input = new Scanner(System.in); a:while(i<3){ System.out.println('請輸入用戶名:'); name = input.nextLine(); System.out.println('請輸入用戶密碼:'); password = input.nextLine(); user = name + '*' + password; for(int j=0;j<this.user.length;j++){ a = this.user[j].split('*'); userInFo = a[0]+'*'+a[1]; if(userInFo.equals(user)){ number = j; break a; } } i++; System.out.println('賬戶或密碼錯誤請重新輸入。。。'); } if(number!=-1){ System.out.println('登錄成功'); try{ Thread.sleep(1000); }catch(Exception e){ e.printStackTrace(); } } else System.out.println('您已輸入錯誤三次,卡已被吞!請到銀行柜臺詢問!'); return number; } private int anthorLogin(){//查詢轉賬用戶是否存在 Scanner input = new Scanner(System.in); String antherUserName; String[] a; int x=-1; System.out.println('請輸入要轉賬的用戶名:'); antherUserName = input.nextLine(); for(int i=0;i<user.length;i++){ a = this.user[i].split('*'); if(a[0].equals(antherUserName)){ x=i; break; } } return x; } private void show1(){ System.out.println('**********************'); System.out.println('t歡迎使用ATM'); System.out.println('1,賬戶余額查詢n2,存錢n3,取錢n4,轉賬n5,修改用戶密碼n6,退出系統n'); System.out.println('**********************'); } private void changeUser(int x){//改變用戶數組里的數據 String[] str = user[index].split('*'); if(x==1) user[index] = str[0]+'*'+newPassword+'*'+str[2]; else user[index] = str[0]+'*'+str[1]+'*'+userMoney; } private void working(){//atm辦理的業務 String number; setMoney(); do{ show1(); System.out.println('請輸入要辦理的業務序號:'); Scanner input = new Scanner(System.in); number = input.nextLine(); switch(number){ case '1': look(); break; case '2': saveMoney(); break; case '3': getMoney(); break; case '4': giveMoney(); break; case '5': changePassword(); break; case '6': System.out.println('歡迎下次光臨!'); write(); break; default: System.out.println('您輸入有誤,請重新輸入。。。。'); } }while(!number.equals('6')); } private void setMoney(){ String u = user[index]; userMoney = Double.parseDouble(u.split('*')[2]); } private void look(){//辦理查看余額業務 System.out.println('用戶余額為:'+userMoney); try{ Thread.sleep(2000); }catch(Exception e){ e.printStackTrace(); } } private void saveMoney(){//辦理存錢業務 money = howMuch('存錢'); userMoney = userMoney+money; changeUser(2); look(); if(isContinue()) saveMoney(); } private void getMoney(){//辦理取錢業務 money = howMuch('取錢'); if(money <= userMoney){ userMoney = userMoney-money; changeUser(2); look(); if(isContinue()) getMoney(); } else System.out.println('您的余額不足!'); } private void giveMoney(){//辦理轉賬業務 int anthorIndex = anthorLogin(); if(anthorIndex!=-1){ money = howMuch('轉賬'); if(money <= userMoney){ userMoney = userMoney - money; changeUser(2); String anthorUser = user[anthorIndex]; String[] str =anthorUser.split('*'); double money1 = Double.parseDouble(str[2]); money = money + money1; user[anthorIndex] = str[0]+'*'+str[1]+'*'+money; System.out.println('轉賬成功!'); look(); } else System.out.println('您的余額不足!'); } else System.out.println('該用戶不存在。。。。'); } private double howMuch(String str){ System.out.println('歡迎辦理'+str+'業務。。。。。。'); System.out.println('請輸入金額(只能是整數且是100的倍數,最多為10000):'); Scanner input = new Scanner(System.in); double money = input.nextDouble(); if(money%10==0) return money; else{ System.out.println('您輸入有誤!'); return 0.0; } } private void changePassword(){//辦理修改密碼業務 System.out.println('請輸入新密碼:'); Scanner input = new Scanner(System.in); newPassword = input.nextLine(); changeUser(1); System.out.println('密碼修改成功!'); } private boolean isContinue(){ System.out.println('是否繼續辦理該項業務?(請輸入Y(y)/N(n))'); Scanner input = new Scanner(System.in); String str = input.nextLine(); if(str.equalsIgnoreCase('y')) return true; else return false; } private void write(){ String str = ''; String s; for(int i=0;i<user.length;i++){ s = user[i]; if(i!=user.length-1) str = str + s + 'n'; else str = str + s; } File file = new File('srcbankuser'); FileWriter out = null; try { out = new FileWriter(file); out.write(str); out.flush(); } catch (IOException e) { e.printStackTrace(); }finally{ if(out != null){ try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } }}

package bank;//銀行類public class Bank { private Atm atm = new Atm(); public void welcome(User user){ System.out.println('歡迎使用atm'); user.useAtm(atm); }}

package bank;//用戶類public class User { public void useAtm(Atm atm){ atm.show(); }}

//創建user文件當數據庫張三*456*100.0李四*123*300.0王五*789*200.0

package bank;//測試類public class Text { public static void main(String[] args){ Bank bank =new Bank(); User user = new User(); bank.welcome(user); }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 铜镍-康铜-锰铜-电阻合金-NC003 - 杭州兴宇合金有限公司 | 水稻烘干机,小麦烘干机,大豆烘干机,玉米烘干机,粮食烘干机_巩义市锦华粮食烘干机械制造有限公司 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 首页|成都尚玖保洁_家政保洁_开荒保洁_成都保洁 | 阻垢剂-反渗透缓蚀阻垢剂厂家-山东鲁东环保科技有限公司 | 防爆电机_ybx3系列电机_河南省南洋防爆电机有限公司 | 深圳标识制作公司-标识标牌厂家-深圳广告标识制作-玟璟广告-深圳市玟璟广告有限公司 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 车载加油机品牌_ 柴油加油机厂家 | 模温机-油温机-电加热导热油炉-工业冷水机「欧诺智能」 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 专注提供国外机电设备及配件-工业控制领域一站式服务商-深圳市华联欧国际贸易有限公司 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 铝单板_铝窗花_铝单板厂家_氟碳包柱铝单板批发价格-佛山科阳金属 | 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 信阳市建筑勘察设计研究院有限公司| PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 杭州ROHS检测仪-XRF测试仪价格-百科 | 微量水分测定仪_厂家_卡尔费休微量水分测定仪-淄博库仑 | 洁净棚-洁净工作棚-无菌室-净化工程公司_北京卫护科技有限公司 | 丁基胶边来料加工,医用活塞边角料加工,异戊二烯橡胶边来料加工-河北盛唐橡胶制品有限公司 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 苏州防水公司_厂房屋面外墙防水_地下室卫生间防水堵漏-苏州伊诺尔防水工程有限公司 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 立式壁挂广告机厂家-红外电容触摸一体机价格-华邦瀛 | 首页_欧瑞传动官方网站--主营变频器、伺服系统、新能源、软起动器、PLC、HMI | 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 南溪在线-南溪招聘找工作、找房子、找对象,南溪综合生活信息门户! | 铸铝门厂家,别墅大门庭院大门,别墅铸铝门铜门[十大品牌厂家]军强门业 | 自恢复保险丝_贴片保险丝_力特保险丝_Littelfuse_可恢复保险丝供应商-秦晋电子 | LED投光灯-工矿灯-led路灯头-工业灯具 - 山东普瑞斯照明科技有限公司 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 直读光谱仪,光谱分析仪,手持式光谱仪,碳硫分析仪,创想仪器官网 |