java ATM模擬程序
阿新 • • 發佈:2018-09-25
manager tlist 初始化 基本功 父類 false 改密碼 private str2
//基本功能已經完善,文件讀取沒有問題,文件重寫尚未完成。
Account類
public class Account { //初始化參數 private String accountID; private String accountname; private String operatedate; private int operatetype; private String accountpassword; private int accountbalance=0; private int amount; //構造讀取和設置變量信息的方法 public void setAccountID(String accountID) {this.accountID=accountID;} public String getAccountID() {return accountID;} public void setAccountname(String accountname) {this.accountname=accountname;} public String getAccountname() {return accountname;} public void setOperatedate(String operatedate) {this.operatedate=operatedate;} public String getOperatedate() {return operatedate;} public void setOperatetype(int operatetype){this.operatetype=operatetype;} public int getOperatetype() {return operatetype;} public void setAccountpassword(String accountpassword) {this.accountpassword=accountpassword;} public String getAccountpassword() {return accountpassword;} public void setAccountbalance(int accountbalance) {this.accountbalance=accountbalance;} public int getAccountbalance() {return accountbalance;} public void setAmount(int amount) {this.amount=amount;} public int getAmount() {return amount;} //構造方法有參數 public Account(String accountID,String accountname,String operatedate,int operatetype,String accountpassword,int accountbalance,int amount) { this.accountID=accountID; this.accountname=accountname; this.operatedate=operatedate; this.operatetype=operatetype; this.accountpassword=accountpassword; this.accountbalance=accountbalance; this.amount=amount; } //構造方法無參數 public Account() {} //參數統一類型 public String toString() { return (accountID+" "+accountname+" "+operatedate+" "+operatetype+" "+accountpassword+" "+accountbalance+" "+amount); } }
AccountManager類
//20173685 任偉強 信1705-2 import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class AccountManager extends Account{ //繼承父類 public AccountManager(String accountID,String accountname,String operatedate,int operatetype,String accountpassword,int accountbalance,int amount) { super(accountID,accountname,operatedate,operatetype,accountpassword,accountbalance,amount); } public AccountManager() { } //全局定義 static Account a=new Account(); static Scanner s=new Scanner(System.in); //選擇 public static void main(String[]args) { try { fileout(); waterout(); } catch (FileNotFoundException e1) { e1.printStackTrace(); } try { if(loginAccount()&&loginPwd()) { Menu(); String option; do { option=s.next(); switch(option) { case"1": handmoney();break; case"2": getmoney();break; case"3": moneygogogo();break; case"4": update();break; case"5": moneyhere();break; case "q": ;break; default: System.out.println("錯誤,請重新輸入!\n"); }}while(!"q".equals(option)); System.out.println("成功退出系統!\n");} } catch (IOException e) { e.printStackTrace(); } } //讀取賬戶基本信息庫 public static void fileout() throws FileNotFoundException { try { FileReader fr=new FileReader("D:\\eclipse\\eclipse\\Account\\src\\accountinformation.txt"); Scanner sc=new Scanner(fr); while(sc.hasNext()) { a.setAccountID(sc.next()); a.setAccountname(sc.next()); a.setAccountpassword(sc.next()); a.setAccountbalance(sc.nextInt()); } sc.close(); fr.close(); } catch (IOException e) { System.out.println("文件導出成功\n"); } } //讀取賬戶流水信息庫 public static void waterout() throws FileNotFoundException { try { FileReader fr=new FileReader("D:\\eclipse\\eclipse\\Account\\src\\accountlist.txt"); Scanner sc=new Scanner(fr); while(sc.hasNext()) { a.setAccountID(sc.next()); a.setAccountname(sc.next()); a.setOperatedate(sc.next()); a.setOperatetype(sc.nextInt()); a.setAmount(sc.nextInt()); } sc.close(); fr.close(); } catch (IOException e) { System.out.println("文件導出成功\n"); } } //導入賬戶基本信息庫 public static void filein() throws IOException { int i; FileReader fr=new FileReader("D:\\eclipse\\eclipse\\Account\\src\\accountinformation.txt"); FileWriter fw=new FileWriter("D:\\eclipse\\eclipse\\Account\\src\\accountinformation.txt"); i=fr.read(); while(i!=-1) { fw.write(i); fr.read(); } fr.close(); fw.close(); } //導入賬戶基本信息庫 public static void waterin() throws IOException { int i; FileReader fr=new FileReader("D:\\eclipse\\eclipse\\Account\\src\\accountlist.txt"); FileWriter fw=new FileWriter("D:\\eclipse\\eclipse\\Account\\src\\accountlist.txt"); i=fr.read(); while(i!=-1) { fw.write(i); fr.read(); } fr.close(); fw.close(); } //打印菜單 public static void Menu(){ StringBuffer s=new StringBuffer("\n"); s.append("\t*************************************************\n"); s.append("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); s.append("\t*************************************************\n"); s.append("\t\t\t1.存款;\n"); s.append("\t\t\t2.取款;\n"); s.append("\t\t\t3.轉賬匯款;\n"); s.append("\t\t\t4.修改密碼;\n"); s.append("\t\t\t5.查詢余額;\n"); s.append("\t*************************************************\n"); s.append("\t(輸入q退出系統)\n"); s.append("請操作\n"); System.out.println(s); } //打印登陸賬號界面 public static boolean loginAccount() throws IOException { System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); System.out.println("\t\t請輸入您的賬號:\n"); String checkAccount = s.next(); if (a.getAccountID().equals (checkAccount)){ System.out.println("輸入賬號成功,系統跳轉到輸入密碼界面\n"); return true ; }else { System.out.println("該賬號不存在\n"); return false ; } } //打印登陸密碼界面 public static boolean loginPwd() throws IOException { System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); for (int i = 3 ;i>0;i--){ System.out.println("\t\t請輸入您的密碼:\n"); String checkPwd = s.next(); if (a.getAccountpassword().equals (checkPwd)){ System.out.println("輸入密碼成功,系統跳轉到主界面!\n"); return true ; }else { if ( i ==1 ){ System.out.println("該賬號三次錄入密碼錯誤,該卡已被系統沒收,請與工行及時聯系處理\n"); return false ; } System.out.println("密碼錄入錯誤!今日剩余次數:"+ (i-1)); } } return false; } //存款 private static void handmoney() { System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); System.out.println("\t\t請輸入存款金額:\n"); int number=s.nextInt(); a.setAccountbalance(a.getAccountbalance() + number); System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); System.out.println("\t\t當前賬戶存款操作成功\n"); System.out.println("\t\t當前賬戶余額為"+a.getAccountbalance()+"元\n"); System.out.println("\t*************************************************\n"); Menu(); System.out.println("\t\t請繼續操作\n"); } //取款 public static void getmoney() { a.setAccountbalance(a.getAccountbalance()); System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); System.out.println("\t\t當前賬戶每日可以支取2萬元\n"); System.out.println("\t\t1.100元\n"); System.out.println("\t\t2.500元\n"); System.out.println("\t\t3.1000元\n"); System.out.println("\t\t4.1500元\n"); System.out.println("\t\t5.2000元\n"); System.out.println("\t\t6.5000元\n"); System.out.println("\t\t7.其他金額\n"); System.out.println("\t\t8.退卡\n"); System.out.println("\t\t9.返回\n"); System.out.println("\t*************************************************\n"); int num1=100,num2=500,num3=1000,num4=1500,num5=2000,num6=5000; int str=s.nextInt(); if (a.getAccountbalance() <str ){ System.out.println("賬戶余額不足!!\n"); str=0; }else if(str==1){ a.setAccountbalance(a.getAccountbalance() - num1); }else if(str==2){ a.setAccountbalance(a.getAccountbalance() - num2); }else if(str==3){ a.setAccountbalance(a.getAccountbalance() - num3); }else if(str==4){ a.setAccountbalance(a.getAccountbalance() - num4); }else if(str==5){ a.setAccountbalance(a.getAccountbalance() - num5); }else if(str==6){ a.setAccountbalance(a.getAccountbalance() - num6); }else if(str==7){ str=s.nextInt(); a.setAccountbalance(a.getAccountbalance() - str); }else if(str==8){ System.out.println("退卡成功\n"); }else if(str==9){ System.out.println("返回成功\n"); } System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); System.out.println("\t\t當前賬戶存款操作成功\n"); System.out.println("\t\t當前賬戶余額為"+a.getAccountbalance()+"元\n"); System.out.println("\t*************************************************\n"); Menu(); } //轉賬匯款 public static void moneygogogo() { a.setAccountbalance(a.getAccountbalance()); System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); System.out.println("\t\t請輸入轉賬賬戶\n"); String str=s.next(); if(a.getAccountID().equals(str)) { System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); System.out.println("\t\t請輸入轉賬金額\n"); int num=s.nextInt(); if(a.getAccountbalance()<=num){ System.out.println("賬戶余額不足\n"); }else { a.setAccountbalance(a.getAccountbalance() - num); System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); System.out.println("\t\t當前賬戶向"+a.getAccountID()+"成功轉賬"+str+"元"); System.out.println("\t\t當前賬戶余額為"+a.getAccountbalance()+"元\n"); System.out.println("\t*************************************************\n"); } } Menu(); } //修改密碼 public static void update() throws IOException { fileout(); System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); System.out.println("\t\t請輸入當前密碼:\n"); String str=s.next(); if(!a.getAccountpassword().equals(str)) { System.out.println("當前密碼錄入錯誤"); }else { System.out.println("\t\t請輸入修改密碼:\n"); String str1=s.next(); System.out.println("\t\t請輸入確認密碼:\n"); String str2=s.next(); if(!str1.equals(str2)) { System.out.println("修改密碼與確認密碼不一致\n"); }else { System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); System.out.println("\t\t當前賬戶密碼修改成功"); System.out.println("\t*************************************************\n"); } } Menu(); } //查詢余額 public static void moneyhere() { System.out.println("\t*************************************************\n"); System.out.println("\t 歡迎全世界最有錢的人使用中國工商銀行自助櫃員系統\n"); System.out.println("\t*************************************************\n"); System.out.print("\t\t當前賬戶余額為"+a.getAccountbalance()+"元\n"); System.out.print("\t\t賬戶清單信息為:\n"); System.out.print("\t\t操作日期"+a.getOperatedate()+" 操作類型"+a.getOperatetype()+"操作金額"+a.getAmount()+"\n"); System.out.println("\t*************************************************\n"); Menu(); } }
java ATM模擬程序