日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

java實現ATM機系統(2.0版)

瀏覽:150日期:2022-08-15 11:27:17

java實現銀行ATM自助取款機,實現功能:用戶登錄、余額查詢、存錢、取錢、轉賬、修改密碼、退出系統。

用java實現一個ATM機系統(2.0版)

設計思路

設計五個類包括測試類:

1、ATM類也是主要的類,負責實現用戶一系列的操作;2、Data類,作為ATM類的一個屬性,主要實現從java文件user中獲取用戶全部信息,并返回要找的用戶,再將修改完之后的用戶信息寫入文件中。

這個類是ATM機與文件之間的橋梁;

3、Bank類,有ATM機(has-a),歡迎用戶來使用ATM機;4、User類,使用ATM機(use-a);5、Demo類,測試類,創建一個環境,讓類產生關系。

源碼

需要注意java文件user的位置,Data類要進行操作它。

package newBank;import java.util.Scanner;//ATM類public class ATM { //有一個類操作數據的類 private Data data = new Data(); //ATM機里的數據 private String userName;//用戶賬號且唯一 private String userPassword;//用戶密碼 private double userMoney;//用戶賬戶里的錢 private double money;//變量,存,取,轉賬的錢 private String user;//使用該臺ATM機的用戶全部信息 //ATM界面 public void show(){ System.out.println('歡迎使用ATM機'); //使用登錄方法,輸入賬號和密碼 int number = login(); //如果登錄成功 if(number == 4) working();//ATM機辦理業務 } //登錄方法 private int login(){ int number = 3;//用戶輸入次數 while(number > 0) { Scanner input = new Scanner(System.in); System.out.println('請輸入賬號:'); //輸入賬號 String inUserName = input.nextLine(); //輸入密碼 System.out.println('請輸入密碼:'); String inUserPassword = input.nextLine(); String x = data.backUser(inUserName); //判斷賬戶是否存在 if(!x.equals('null')){ user = x;//獲取用戶所有信息 String[] str = user.split('*');//將用戶信息分割 userName = str[0];//用戶名 userPassword = str[1];//用戶密碼 userMoney = Double.parseDouble(str[2]);//用戶余額 //密碼正確 if(userPassword.equals(inUserPassword)){ System.out.println('登錄成功'); number = 4;//次數變為4 break; } } number --;//次數減一 System.out.println('賬號或密碼輸入錯誤。。。'); System.out.println('您還有' + number + '次機會'); } return number;//是否登錄成功 } //功能界面 private void functionShow(){ System.out.println('**********************'); System.out.println('t歡迎使用ATM'); System.out.println('1,賬戶余額查詢n2,存錢n3,取錢n4,轉賬n5,修改用戶密碼n6,退出系統n'); System.out.println('**********************'); } //用戶要進行的操作 private void working(){ String index;//業務序號 do{ functionShow();//調用功能界面 System.out.println('請輸入要辦理的業務序號:'); Scanner input = new Scanner(System.in); index = input.nextLine(); switch(index){ 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('歡迎下次光臨!'); user = changeUser(userName,userPassword,userMoney); data.saveData(user,true);//用戶退出后保存用戶信息 break; default: System.out.println('您輸入有誤,請重新輸入。。。。'); } }while(!index.equals('6')); } //是否繼續某項操作 private boolean isContinue(){ System.out.println('繼續辦理該項業務:請輸入Y/y'); System.out.println('返回上一級:請輸入N/n'); Scanner input = new Scanner(System.in); String str = input.nextLine(); if(str.equalsIgnoreCase('Y')) return true; else return false; } //存錢,取錢,轉賬共用 private void 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) { System.out.println('您輸入有誤!'); this.money = 0; } else this.money = money; } //查詢實現 private void look(){ System.out.println('用戶余額為:' + userMoney); try{ Thread.sleep(2000); }catch(Exception e){ e.printStackTrace(); } } //存錢實現 private void saveMoney(){ howMuch('存錢'); if(money != 0) {//如果存的錢正確 userMoney = userMoney + money;//存上 System.out.println('已存入'); look();//顯示余額 } if(isContinue()) saveMoney(); } //判斷余額是否充足 private boolean isEnough(){ if(money <= userMoney){ userMoney = userMoney - money; return true; } else{ System.out.println('您的余額不足!'); return false; } } //取錢實現 private void getMoney(){ howMuch('取錢'); //如果取的錢正確且如果轉賬賬戶余額夠 if(money != 0 && isEnough()){ look(); System.out.println('請收好您的錢'); } if(isContinue()) getMoney(); } //轉賬實現 private void giveMoney(){ //只判斷用戶賬戶是否存在 Scanner input = new Scanner(System.in); System.out.println('請輸入要轉賬賬號:'); //輸入賬號 String inUserName = input.nextLine(); String str = data.backUser(inUserName); //如果該賬戶存在 if(!str.equals('null')) { String antherUser = str;//獲取被轉賬賬戶所有信息 String[] str1 = antherUser.split('*');//分割 Double x = Double.parseDouble(str1[2]);//獲取被轉賬賬戶余額 howMuch('轉賬'); //如果轉的錢正確且如果轉賬賬戶余額夠 if (money != 0 && isEnough()) { x = x + money; antherUser = changeUser(str1[0], str1[1], x);//改變被轉賬賬戶信息 data.saveData(antherUser,false);//將用戶信息傳給Data類保存被轉賬賬戶信息 System.out.println('轉賬成功'); look(); } } else System.out.println('被轉賬賬戶不存在。。。'); if(isContinue()) giveMoney(); } //修改密碼實現 private void changePassword(){ System.out.println('請輸入新密碼:'); Scanner input = new Scanner(System.in); userPassword = input.nextLine(); System.out.println('密碼修改成功!'); } //辦完業務后修改用戶信息 private String changeUser(String n,String w,Double d){ String str = n + '*' + w + '*' + d; return str; }}

package newBank;import java.io.*;import java.util.HashMap;import java.util.Map;import java.util.Set;//數據類是文件和ATM機之間操作用戶信息的橋梁public class Data { //Map儲存數據庫里所有用戶的全部信息 Map<String,String> userData = new HashMap(); //返回用戶的信息 private String user; //創建數據類加載所有用戶信息 public Data(){ getUsers(); } private void getUsers(){ String str; String[] string; File file = new File('srcnewBankuser'); FileReader fileReader = null; BufferedReader bufferedReader = null; try{ fileReader = new FileReader(file); bufferedReader = new BufferedReader(fileReader); while((str = bufferedReader.readLine())!=null){ string = str.split('*',2); userData.put(string[0],string[1]); } }catch(Exception e){ e.printStackTrace(); if((fileReader!=null)&&(bufferedReader!=null)){ try { bufferedReader.close(); fileReader.close(); } catch (IOException e1) { e1.printStackTrace(); } } } } //告訴用戶名,如果找到返回該用戶所有信息,沒找到返回null public String backUser(String userName){ String str = 'null'; if(userData.containsKey(userName)) str = userName + '*' + userData.get(userName); user = str; return user; } //修改用戶數據并儲存在userData圖里 public void saveData(String user,boolean aBoolean){ String[] string = user.split('*',2); userData.remove(string[0]); userData.put(string[0],string[1]); if(aBoolean)//判斷用戶是否操作結束 changeUser(); } //用戶操作完,將userData里所有的用戶再寫入文件里 private void changeUser(){ String str,string=''; Set<String> keys = userData.keySet(); for(String key : keys){ str = key + '*' + userData.get(key); string = string + str + 'n'; } File file = new File('srcnewBankuser'); FileWriter out = null; try { out = new FileWriter(file); out.write(string); out.flush(); } catch (IOException e) { e.printStackTrace(); }finally{ if(out != null){ try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } }}

package newBank;//銀行類public class Bank { //銀行有ATM機供給用戶使用 private ATM atm = new ATM(); //歡迎用戶使用 public void welcome(User user){ System.out.println('歡迎用戶來我行使用ATM機'); user.useATM(atm); }}

package newBank;//用戶類public class User { //用戶使用ATM機辦理業務 public void useATM(ATM atm){ atm.show(); }}

//java文件當數據庫李四*123*1000.0張三*456*10000.0王五*789*100000.0

package newBank;//測試類public class Demo { public static void main(String[] args){ //創建一個銀行 Bank bank = new Bank(); //創建一個用戶 User user = new User(); //銀行歡迎用戶 bank.welcome(user); }}

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

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
激情丁香综合| 欧美自拍一区| 国产91在线精品| 免费在线观看一区| 免费日韩一区二区三区| 国产欧美69| 欧美视频一区| 国产欧美自拍| 国产精品日本一区二区三区在线 | 亚洲免费精品| 日韩精品午夜| 欧美日韩在线观看视频小说| 极品日韩av| 免费一级片91| 97精品国产99久久久久久免费| 国产欧美亚洲精品a| 久久精品国产99| 日本在线高清| 欧洲激情综合| 美日韩精品视频| 日韩美女精品| 久久精品国产99国产| 国产亚洲一区二区手机在线观看| 欧美日韩一二三四| 一区二区日韩免费看| 视频一区日韩| 国产精品亲子伦av一区二区三区| 98精品久久久久久久| 亚洲天堂成人| 天堂久久av| 久久久久观看| 国产99精品一区| 亚洲影院天堂中文av色| 欧美精品国产白浆久久久久| 激情综合五月| 欧美成人综合| 日本视频中文字幕一区二区三区| 久久男人av| 狠狠久久婷婷| 久久激情av| 黄毛片在线观看| 久久av一区二区三区| 国产精品夜夜夜| 久久精品国内一区二区三区水蜜桃| 中文国产一区| 久久精品伊人| 在线亚洲欧美| 久久99影视| 欧美日韩国产一区精品一区| 日韩av三区| 色婷婷久久久| 青草综合视频| 国产精品美女在线观看直播| 欧美精品一区二区久久| 国产日韩欧美三级| 久久久9色精品国产一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美激情91| 一本一道久久a久久精品蜜桃| 国产乱子精品一区二区在线观看| 亚洲国产成人二区| 色婷婷成人网| 日韩国产激情| 日韩高清在线一区| 吉吉日韩欧美| 日韩高清在线不卡| 色88888久久久久久影院| 亚洲精品系列| 久久久久99| 国产精品自在| 久久国产影院| 欧美亚洲三级| 国产视频一区在线观看一区免费| 免费日韩成人| 日韩中文字幕| 亚洲国产福利| 国产精品久久久亚洲一区| 一区在线视频观看| 激情国产在线| 国产一卡不卡| 视频一区视频二区中文字幕| 亚洲精品日韩久久| 欧美日韩黑人| 热三久草你在线| 久久不卡国产精品一区二区| 91精品二区| 精品国产亚洲一区二区三区在线 | 国产精品密蕾丝视频下载| 亚洲欧美日韩视频二区| 亚洲黄色免费av| 精品久久精品| 国产精品香蕉| 亚洲开心激情| 91超碰国产精品| 秋霞国产精品| 国产66精品| 麻豆高清免费国产一区| 91福利精品在线观看| 视频一区国产视频| 亚洲国产日韩欧美在线| 国产综合色区在线观看| 久久不见久久见免费视频7 | 91亚洲一区| 精品视频黄色| 国产精品1区| 欧美伊人影院| 日韩影片在线观看| 在线国产精品一区| 午夜在线一区二区| 性欧美69xoxoxoxo| 亚洲女同一区| 宅男在线一区| 国产精品99一区二区| 欧美成人基地| 亚洲涩涩在线| 欧洲av一区二区| 日韩精品一区二区三区免费观影| 神马午夜在线视频| 久久影院午夜精品| 精品国产乱码久久久久久1区2匹| 日韩国产在线不卡视频| 日韩精品久久理论片| 日本亚洲三级在线| 日韩激情综合| 久久国产人妖系列| 国产精品va| 精品国产乱码久久久| 水蜜桃久久夜色精品一区| 黄色网一区二区| 日韩在线高清| 亚洲高清毛片| 亚洲一区亚洲| 亚洲精品亚洲人成在线观看| 欧美一级网站| 久久精品国产福利| 日本一区二区高清不卡| 成人日韩av| 久久国产欧美| 99综合视频| 亚洲人成网77777色在线播放| 日韩av一区二区在线影视| 国产伦精品一区二区三区在线播放| 久久gogo国模啪啪裸体| 日韩电影免费网站| 在线一区电影| 日韩一区二区三区精品| 国产精品2区| 亚洲精品在线影院| 日韩视频久久| 日韩va亚洲va欧美va久久| 久久的色偷偷| 视频福利一区| 中文字幕一区二区三区四区久久| 日韩国产成人精品| 久久久久伊人| 99久久久久| 婷婷精品在线| 国产传媒在线观看| 中文国产一区| 国产精品乱战久久久| 日韩欧美1区| 裤袜国产欧美精品一区| 久久婷婷av| 精品国产91| 国产精品一国产精品k频道56| 亚洲精品97| 黑森林国产精品av| 麻豆久久一区二区| 国产精品蜜芽在线观看| 久久精品高清| 欧美专区18| 日韩美女国产精品| 欧美激情在线精品一区二区三区| 在线看片日韩| 国产精品亚洲一区二区在线观看 | 91精品成人| 国产精品毛片在线看| 亚洲久久视频| 蜜桃av一区二区三区电影| 国产精品巨作av| 久久精品国产www456c0m| 免费久久99精品国产自在现线| 亚洲三级精品| 精品一区二区三区在线观看视频| 天堂资源在线亚洲| 婷婷成人av| 韩日一区二区| 亚洲深爱激情| 欧美激情日韩| 国产精品av一区二区| 国产精品普通话对白| 日本三级亚洲精品| 国产精品欧美在线观看| 国产精品一区免费在线| 一区二区视频欧美| 日本久久综合| 欧美成人亚洲| 国产精品久久久久久久久久白浆 | 亚洲专区视频| 91精品在线免费视频|