日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

7-1 ATM机类结构设计(二) (100 分)

發布時間:2024/3/7 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 7-1 ATM机类结构设计(二) (100 分) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

**

7-1 ATM機類結構設計(二) (100 分)

**
設計ATM仿真系統,具體要求參見作業說明。 OO作業9-1題目說明.pdf

輸入格式:
每一行輸入一次業務操作,可以輸入多行,最終以字符#終止。具體每種業務操作輸入格式如下:
取款功能輸入數據格式:

卡號 密碼 ATM機編號 金額

(由一個或多個空格分隔)
查詢余額功能輸入數據格式:

卡號

輸出格式:

①輸入錯誤處理

如果輸入卡號不存在,則輸出

Sorry,this card does not exist.

如果輸入ATM機編號不存在,則輸出

Sorry,the ATM’s id is wrong.

如果輸入銀行卡密碼錯誤,則輸出

Sorry,your password is wrong.

如果輸入取款金額大于賬戶余額,則輸出

Sorry,your account balance is insufficient.

②取款業務輸出

輸出共兩行,格式分別為:

業務:取款 [用戶姓名]在[銀行名稱]的[ATM編號]上取款¥[金額]

當前余額為¥[金額]

其中,[]說明括起來的部分為輸出屬性或變量,金額均保留兩位小數。

③查詢余額業務輸出

業務:查詢余額 ¥[金額]

金額保留兩位小數。

解題報告

本題重點考察繼承、多態及抽象類的應用 提示:所謂的借記卡與信用卡的說法實際是針對用戶的賬戶類型

輸入樣例1:

6222081502001312390 88888888 06 500.00

輸出樣例1:

業務:取款 張無忌在中國工商銀行的06號ATM機上取款¥500.00
當前余額為¥9500.00

輸入樣例2:

6217000010041315709 88888888 06 3500.00

輸出樣例2:

業務:取款 楊過在中國工商銀行的06號ATM機上取款¥3500.00
當前余額為¥6395.00

輸入樣例3:

6217000010041315715

輸出樣例3:

業務:查詢余額 ¥10000.00

輸入樣例4:

6222081502001312390 88888888 01 500.00
6222081502051320786 88888888 06 1200.00
6217000010041315715 88888888 02 1500.00
6217000010041315709 88888888 02 3500.00
6217000010041315715

輸出樣例4:

業務:取款 張無忌在中國建設銀行的01號ATM機上取款¥500.00
當前余額為¥9490.00
業務:取款 韋小寶在中國工商銀行的06號ATM機上取款¥1200.00
當前余額為¥8800.00
業務:取款 楊過在中國建設銀行的02號ATM機上取款¥1500.00
當前余額為¥8500.00
業務:取款 楊過在中國建設銀行的02號ATM機上取款¥3500.00
當前余額為¥5000.00
業務:查詢余額 ¥5000.00

輸入樣例5:

6640000010045442002 88888888 09 3000
6640000010045442002 88888888 06 8000
6640000010045442003 88888888 01 10000
6640000010045442002

輸出樣例5:

業務:取款 張三豐在中國農業銀行的09號ATM機上取款¥3000.00
當前余額為¥6880.00
業務:取款 張三豐在中國工商銀行的06號ATM機上取款¥8000.00
當前余額為¥-1416.00
業務:取款 張三豐在中國建設銀行的01號ATM機上取款¥10000.00
當前余額為¥-11916.00
業務:查詢余額 ¥-11916.00

//代碼長度為31kb!!!import java.util.Scanner; import java.util.ArrayList;//Bank類 class Bank{String bankname;ArrayList<String> ATMList;//創建無參構造方法public Bank(){}//創建帶參構造方法public Bank(String bankname,ArrayList<String> ATMList){this.bankname=bankname;this.ATMList=ATMList;}//getterpublic String getBankname() {return bankname;}public ArrayList<String> getATMList() {return ATMList;}//setterpublic void setBankname(String bankname){this.bankname=bankname;}public void setATMList(ArrayList<String> tATMList){this.ATMList=ATMList;} } //Account類 class Account{private String name;private String account;private String password;private double balance;ArrayList<Bank> banklist;Bank bank;private ArrayList<String> cardList;private ArrayList<String> ATMList;private ArrayList<String> BanknameList;//創建無參構造方法public Account(){}//創建帶參構造方法public Account(String name,String account,String password,double balance,ArrayList<Bank> banklist,Bank bank,ArrayList<String> cardList,ArrayList<String> ATMList,ArrayList<String> BanknameList){this.name=name;this.account=account;this.password=password;this.balance=balance;this.bank=bank;this.banklist=banklist;this.cardList=cardList;this.ATMList=ATMList;this.BanknameList=BanknameList;}//getterpublic String getName() {return name;}public String getAccount() {return account;}public String getPassword() {return password;}public double getBalance() {return balance;}public ArrayList<String> getCardList() {return cardList;}public ArrayList<String> getATMList() {return ATMList;}public ArrayList<String> getBanknameList() {return BanknameList;}//setterpublic void setName(String name) {this.name = name;}public void setAccount(String account) {this.account = account;}public void setPassword(String password) {this.password = password;}public void setBalance(double balance) {this.balance = balance;}public void setCardList(ArrayList<String> cardList) {this.cardList = cardList;}public void setATMList(ArrayList<String> ATMList) {this.ATMList = ATMList;}public void setBanknameList(ArrayList<String> BanknameList) {this.BanknameList = BanknameList;} }//存取款的檢查類 class Check{ArrayList<Account> accountList;String card;String password;String number;double money;public Check(ArrayList<Account> accountList,String card,String password,String number,double money){this.accountList=accountList;this.card=card;this.password=password;this.number=number;this.money=money;}public boolean check(){int flag=0;int i,j,k=0;//檢查賬號是否正確for(i=0;i<accountList.size();i++){for(j=0;j<accountList.get(i).getCardList().size();j++){if (card.equals(accountList.get(i).getCardList().get(j))){flag=1;k=i;break;}}if(flag==1){break;}}//檢查密碼是否正確if(flag==1){if(password.equals(accountList.get(k).getPassword())){flag=2;}else{System.out.println("Sorry,your password is wrong.");//銀行卡密碼錯誤return false;}}else{System.out.println("Sorry,this card does not exist.");//卡號不存在return false;}//檢查ATM機編號是否正確if(flag==2){for(i=0;i<accountList.get(k).banklist.size();i++){for(j=0;j<accountList.get(k).banklist.get(i).ATMList.size();j++){if(number.equals(accountList.get(k).banklist.get(i).ATMList.get(j))){flag=3;break;}}}}if(flag==3){return true;}else{System.out.println("Sorry,the ATM's id is wrong.");//ATM機編號不存在return false;}} } //余額查詢的檢查類 class Check1{ArrayList<Account> accountList;String card;public Check1(ArrayList<Account> accountList, String card){this.accountList = accountList;this.card = card;}public boolean check(){int i,j;int flag=0;//卡號校驗for(i=0;i<accountList.size();i++){for(j=0;j<accountList.get(i).getCardList().size();j++){if (card.equals(accountList.get(i).getCardList().get(j))){flag=1;break;}}if(flag==1){break;}}if(flag==1)return true;else{System.out.println("Sorry,this card does not exist.");//卡號不存在return false;}} } //跨行檢查類 class Check2{ArrayList<Account> accountList;String card;String password;String number;double money;public Check2(ArrayList<Account> accountList,String card,String password,String number,double money){this.accountList=accountList;this.card=card;this.password=password;this.number=number;this.money=money;}public boolean check(){int i,j,k=0;int flag=0;//卡號校驗for(i=0;i<accountList.size();i++){for(j=0;j<accountList.get(i).getCardList().size();j++){if (card.equals(accountList.get(i).getCardList().get(j))){k=i;break;}}}//檢查是否跨行for(i=0;i<accountList.get(k).bank.ATMList.size();i++){if(number.equals(accountList.get(k).bank.ATMList.get(i))){flag=1;break;}}if(flag==1){//未跨行return false;}else {//跨行return true;}} } //賬號種類檢查類 class Check3{ArrayList<Account> accountList;ArrayList<Account> accountList1;String card;String password;String number;double money;public Check3(ArrayList<Account> accountList,ArrayList<Account> accountList1,String card,String password,String number,double money){this.accountList=accountList;this.accountList1=accountList1;this.card=card;this.password=password;this.number=number;this.money=money;}public boolean check(){int i,j,k=0;int flag=0;//卡號校驗for(i=0;i<accountList1.size();i++){for(j=0;j<accountList1.get(i).getCardList().size();j++){if (card.equals(accountList1.get(i).getCardList().get(j))){flag=1;break;}}}if(flag==1){//貸記賬號return true;}else {//借記賬號return false;}} } //金額檢查類 class Check4{ArrayList<Account> accountList;String card;String password;String number;double money;public Check4(ArrayList<Account> accountList,String card,String password,String number,double money){this.accountList=accountList;this.card=card;this.password=password;this.number=number;this.money=money;}public boolean check() {int i, j, k = 0;int flag = 0;//卡號校驗for (i = 0; i < accountList.size(); i++) {for (j = 0; j < accountList.get(i).getCardList().size(); j++) {if (card.equals(accountList.get(i).getCardList().get(j))) {k = i;break;}}}//檢查是否跨行if(money<=accountList.get(k).getBalance()){return true;}else {System.out.println("Sorry,your account balance is insufficient.");//取款金額大于賬戶余額return false;}} }//借記賬號未跨行存取款類 class Access{ArrayList<Account> accountList;String card;String password;String number;double money;public Access(ArrayList<Account> accountList,String card,String password,String number,double money){this.password=password;this.number=number;this.card=card;this.accountList=accountList;this.money=money;}public void access(){int i,j,k=0;//卡號校驗for(i=0;i<accountList.size();i++){for(j=0;j<accountList.get(i).getCardList().size();j++){if(card.equals(accountList.get(i).getCardList().get(j))){k=i;//System.out.println(accountList.get(k));break;}}}accountList.get(k).setBalance(accountList.get(k).getBalance()-money);} } //借記賬號跨行存取款類 class Access1{ArrayList<Account> accountList;String card;String password;String number;double money;public Access1(ArrayList<Account> accountList,String card,String password,String number,double money){this.password=password;this.number=number;this.card=card;this.accountList=accountList;this.money=money;}public void access(){int i,j,k=0;double q=0;//卡號校驗for(i=0;i<accountList.size();i++){for(j=0;j<accountList.get(i).getCardList().size();j++){if(card.equals(accountList.get(i).getCardList().get(j))){k=i;break;}}}//跨行取款手續費for(i=0;i<accountList.get(k).getATMList().size();i++){if(number.equals(accountList.get(k).getATMList().get(0))||number.equals(accountList.get(k).getATMList().get(1))||number.equals(accountList.get(k).getATMList().get(2))||number.equals(accountList.get(k).getATMList().get(3))){q=money*0.02;break;}else if (number.equals(accountList.get(k).getATMList().get(4))||number.equals(accountList.get(k).getATMList().get(5))){q=money*0.03;break;}else if(number.equals(accountList.get(k).getATMList().get(6))||number.equals(accountList.get(k).getATMList().get(7))||number.equals(accountList.get(k).getATMList().get(8))||number.equals(accountList.get(k).getATMList().get(9))||number.equals(accountList.get(k).getATMList().get(10))){q=money*0.04;break;}}accountList.get(k).setBalance(accountList.get(k).getBalance()-money-q);} } //貸記賬號未跨行存取款類 class Access2{ArrayList<Account> accountList;String card;String password;String number;double money;public Access2(ArrayList<Account> accountList,String card,String password,String number,double money){this.password=password;this.number=number;this.card=card;this.accountList=accountList;this.money=money;}public void access(){int i,j,k=0;double l;//卡號校驗for(i=0;i<accountList.size();i++){for(j=0;j<accountList.get(i).getCardList().size();j++){if(card.equals(accountList.get(i).getCardList().get(j))){k=i;//System.out.println(accountList.get(k));break;}}}//System.out.println("wkh");if(accountList.get(k).getBalance()>money&&accountList.get(k).getBalance()>0){accountList.get(k).setBalance(accountList.get(k).getBalance()-money);}else if(accountList.get(k).getBalance()<money&&accountList.get(k).getBalance()>0){l=(money-accountList.get(k).getBalance())*0.05;accountList.get(k).setBalance(accountList.get(k).getBalance()-money-l);}else if(accountList.get(k).getBalance()<money&&accountList.get(k).getBalance()<=0){l=money*0.05;accountList.get(k).setBalance(accountList.get(k).getBalance()-money-l);}} } //貸記賬號跨行存取款類 class Access3 {ArrayList<Account> accountList;String card;String password;String number;double money;public Access3(ArrayList<Account> accountList, String card, String password, String number, double money) {this.password = password;this.number = number;this.card = card;this.accountList = accountList;this.money = money;}public void access() {int i, j, k = 0;double l,q=0;//卡號校驗for (i = 0; i < accountList.size(); i++) {for (j = 0; j < accountList.get(i).getCardList().size(); j++) {if (card.equals(accountList.get(i).getCardList().get(j))) {k = i;//System.out.println(accountList.get(k));break;}}}//跨行取款手續費for (i = 0; i < accountList.get(k).getATMList().size(); i++) {if (number.equals(accountList.get(k).getATMList().get(0)) || number.equals(accountList.get(k).getATMList().get(1)) || number.equals(accountList.get(k).getATMList().get(2)) || number.equals(accountList.get(k).getATMList().get(3))) {q = money * 0.02;break;} else if (number.equals(accountList.get(k).getATMList().get(4)) || number.equals(accountList.get(k).getATMList().get(5))) {q = money * 0.03;break;} else if (number.equals(accountList.get(k).getATMList().get(6)) || number.equals(accountList.get(k).getATMList().get(7)) || number.equals(accountList.get(k).getATMList().get(8)) || number.equals(accountList.get(k).getATMList().get(9)) || number.equals(accountList.get(k).getATMList().get(10))) {q = money * 0.04;break;}}//System.out.println("kh");if (accountList.get(k).getBalance() >=money&&accountList.get(k).getBalance()>0) {accountList.get(k).setBalance(accountList.get(k).getBalance() - money - q);}else if(accountList.get(k).getBalance() <money&&accountList.get(k).getBalance()>0){l = (money - accountList.get(k).getBalance()) * 0.05;accountList.get(k).setBalance(accountList.get(k).getBalance() - money - l - q);}else if(accountList.get(k).getBalance() <money&&accountList.get(k).getBalance()<=0){l=money*0.05;accountList.get(k).setBalance(accountList.get(k).getBalance() - money - l - q);}} }//借記賬號存取款的展示類 class Show{ArrayList<Account> accountList;ArrayList<Account> accountList1;String card;String password;String number;double money;public Show(ArrayList<Account> accountList,ArrayList<Account> accountList1,String card,String password,String number,double money){this.accountList=accountList;this.accountList1=accountList1;this.card=card;this.password=password;this.number=number;this.money=money;}public void show(){int i,j,k=0;String bankname="";//卡號校驗for(i=0;i<accountList.size();i++){for(j=0;j<accountList.get(i).getCardList().size();j++){if(card.equals(accountList.get(i).getCardList().get(j))){k=i;break;}}}//銀行名稱確認for(i=0;i<accountList.get(k).getATMList().size();i++){if(number.equals(accountList.get(k).getATMList().get(0))||number.equals(accountList.get(k).getATMList().get(1))||number.equals(accountList.get(k).getATMList().get(2))||number.equals(accountList.get(k).getATMList().get(3))){bankname=accountList.get(k).getBanknameList().get(0);break;}else if (number.equals(accountList.get(k).getATMList().get(4))||number.equals(accountList.get(k).getATMList().get(5))){bankname=accountList.get(k).getBanknameList().get(1);break;}else if(number.equals(accountList.get(k).getATMList().get(6))||number.equals(accountList.get(k).getATMList().get(7))||number.equals(accountList.get(k).getATMList().get(8))||number.equals(accountList.get(k).getATMList().get(9))||number.equals(accountList.get(k).getATMList().get(10))){bankname=accountList.get(k).getBanknameList().get(2);break;}}if(money>=0){//取款if(accountList.get(k).getBalance()>=0){System.out.printf("業務:取款 "+accountList.get(k).getName()+"在"+bankname+"的"+number+"號ATM機上取款¥%.2f\n",money);System.out.printf("當前余額為¥%.2f\n",accountList.get(k).getBalance());}else {System.out.println("Sorry,your account balance is insufficient.");//輸入取款金額大于賬戶余額}}else{//存款money=-money;System.out.printf("業務:存款 "+accountList.get(k).getName()+"在"+accountList.get(k).bank.bankname+"的"+number+"號ATM機上存款¥%.2f\n",money);System.out.printf("當前余額為¥%.2f\n",accountList.get(k).getBalance());}} } //余額查詢的展示類 class Show1{ArrayList<Account> accountList;String card;public Show1(ArrayList<Account> accountList,String card){this.accountList=accountList;this.card=card;}public void show1(){int i,j;int t=0;//卡號校驗for(i=0;i<accountList.size();i++){for(j=0;j<accountList.get(i).getCardList().size();j++){if(card.equals(accountList.get(i).getCardList().get(j))){t=i;break;}}}System.out.printf("業務:查詢余額 ¥%.2f\n",accountList.get(t).getBalance());} } //貸記賬號存取款的展示類 class Show2{ArrayList<Account> accountList;ArrayList<Account> accountList1;String card;String password;String number;double money;public Show2(ArrayList<Account> accountList,ArrayList<Account> accountList1,String card,String password,String number,double money){this.accountList=accountList;this.accountList1=accountList1;this.card=card;this.password=password;this.number=number;this.money=money;}public void show() {int i, j, k = 0;String bankname = "";//卡號校驗for (i = 0; i < accountList.size(); i++) {for (j = 0; j < accountList.get(i).getCardList().size(); j++) {if (card.equals(accountList.get(i).getCardList().get(j))) {k = i;break;}}}//銀行名稱確認for (i = 0; i < accountList.get(k).getATMList().size(); i++) {if (number.equals(accountList.get(k).getATMList().get(0)) || number.equals(accountList.get(k).getATMList().get(1)) || number.equals(accountList.get(k).getATMList().get(2)) || number.equals(accountList.get(k).getATMList().get(3))) {bankname = accountList.get(k).getBanknameList().get(0);break;} else if (number.equals(accountList.get(k).getATMList().get(4)) || number.equals(accountList.get(k).getATMList().get(5))) {bankname = accountList.get(k).getBanknameList().get(1);break;} else if (number.equals(accountList.get(k).getATMList().get(6)) || number.equals(accountList.get(k).getATMList().get(7)) || number.equals(accountList.get(k).getATMList().get(8)) || number.equals(accountList.get(k).getATMList().get(9)) || number.equals(accountList.get(k).getATMList().get(10))) {bankname = accountList.get(k).getBanknameList().get(2);break;}}if(money>0){//取款if(accountList.get(k).getBalance()>=(-50000)){System.out.printf("業務:取款 "+accountList.get(k).getName()+"在"+bankname+"的"+number+"號ATM機上取款¥%.2f\n",money);System.out.printf("當前余額為¥%.2f\n",accountList.get(k).getBalance());}else {System.out.println("Sorry,your account balance is insufficient.");//透支金額超過規定最大透支金額}}else{//存款money=-money;System.out.printf("業務:存款 "+accountList.get(k).getName()+"在"+accountList.get(k).bank.bankname+"的"+number+"號ATM機上存款¥%.2f\n",money);System.out.printf("當前余額為¥%.2f\n",accountList.get(k).getBalance());}} }//主類 public class Main {public static void main(String[] args) {//ATM機編號數組ArrayList<String> ATMList1 = new ArrayList<>();ATMList1.add("01");ATMList1.add("02");ATMList1.add("03");ATMList1.add("04");Bank jsyh = new Bank("中國建設銀行", ATMList1);ArrayList<String> ATMList2 = new ArrayList<>();ATMList2.add("05");ATMList2.add("06");Bank gsyh = new Bank("中國工商銀行", ATMList2);ArrayList<String> ATMList3 = new ArrayList<>();ATMList3.add("07");ATMList3.add("08");ATMList3.add("09");ATMList3.add("10");ATMList3.add("11");Bank nyyh = new Bank("中國農業銀行", ATMList3);ArrayList<String> ATMList = new ArrayList<>();ATMList.add("01");ATMList.add("02");ATMList.add("03");ATMList.add("04");ATMList.add("05");ATMList.add("06");ATMList.add("07");ATMList.add("08");ATMList.add("09");ATMList.add("10");ATMList.add("11");//銀行數組ArrayList<Bank> bankList = new ArrayList<>();bankList.add(jsyh);bankList.add(gsyh);bankList.add(nyyh);ArrayList<String> banknameList = new ArrayList<>();banknameList.add("中國建設銀行");banknameList.add("中國工商銀行");banknameList.add("中國農業銀行");//用戶數組ArrayList<String> cardList1 = new ArrayList<>();cardList1.add("6217000010041315709");cardList1.add("6217000010041315715");Account account1 = new Account("楊過", "3217000010041315709", "88888888", 10000.00, bankList, jsyh,cardList1,ATMList,banknameList);ArrayList<String> cardList2 = new ArrayList<>();cardList2.add("6217000010041315718");Account account2 = new Account("楊過", "3217000010041315715", "88888888", 10000.00, bankList,jsyh,cardList2,ATMList,banknameList);ArrayList<String> cardList3 = new ArrayList<>();cardList3.add("6217000010051320007");Account account3 = new Account("郭靖", "3217000010051320007", "88888888", 10000.00, bankList,jsyh,cardList3,ATMList,banknameList);ArrayList<String> cardList4 = new ArrayList<>();cardList4.add("6222081502001312389");Account account4 = new Account("張無忌", "3222081502001312389", "88888888", 10000.00, bankList,gsyh,cardList4,ATMList,banknameList);ArrayList<String> cardList5 = new ArrayList<>();cardList5.add("6222081502001312390");Account account5 = new Account("張無忌", "3222081502001312390", "88888888", 10000.00, bankList,gsyh,cardList5,ATMList,banknameList);ArrayList<String> cardList6 = new ArrayList<>();cardList6.add("6222081502001312399");cardList6.add("6222081502001312400");Account account6 = new Account("張無忌", "3222081502001312399", "88888888", 10000.00, bankList,gsyh,cardList6,ATMList,banknameList);ArrayList<String> cardList7 = new ArrayList<>();cardList7.add("6222081502051320785");Account account7 = new Account("韋小寶", "3222081502051320785", "88888888", 10000.00, bankList,gsyh,cardList7,ATMList,banknameList);ArrayList<String> cardList8 = new ArrayList<>();cardList8.add("6222081502051320786");Account account8 = new Account("韋小寶", "3222081502051320786", "88888888", 10000.00, bankList,gsyh,cardList8,ATMList,banknameList);ArrayList<String> cardList9 = new ArrayList<>();cardList9.add("6640000010045442002");cardList9.add("6640000010045442003");Account account9 = new Account("張三豐", "3640000010045442002", "88888888", 10000.00, bankList,jsyh,cardList9,ATMList,banknameList);ArrayList<String> cardList10 = new ArrayList<>();cardList10.add("6640000010045441009");Account account10 = new Account("令狐沖", "3640000010045441009", "88888888", 10000.00, bankList,gsyh,cardList10,ATMList,banknameList);ArrayList<String> cardList11 = new ArrayList<>();cardList11.add("6630000010033431001");Account account11 = new Account("喬峰", "3630000010033431001", "88888888", 10000.00, bankList,nyyh,cardList11,ATMList,banknameList);ArrayList<String> cardList12 = new ArrayList<>();cardList12.add("6630000010033431008");Account account12 = new Account("洪七公", "3630000010033431008", "88888888", 10000.00, bankList,nyyh,cardList12,ATMList,banknameList);//借記賬號用戶總數組ArrayList<Account> accountList = new ArrayList<>();accountList.add(account1);accountList.add(account2);accountList.add(account3);accountList.add(account4);accountList.add(account5);accountList.add(account6);accountList.add(account7);accountList.add(account8);accountList.add(account9);accountList.add(account10);accountList.add(account11);accountList.add(account12);//貸記賬號用戶總數組ArrayList<Account> accountList1=new ArrayList<>();accountList1.add(account9);accountList1.add(account10);accountList1.add(account11);accountList1.add(account12);Scanner x=new Scanner(System.in);String kp;Check check;Check1 check1;Check2 check2;Check3 check3;Check4 check4;kp=x.nextLine();while(!kp.equals("#")){String[] shuju=kp.split("\\s+");//輸入的每行數據用空格隔開,存為數組/*for(i=0;i<shuju.length;i++) {System.out.println(shuju[i]);}*/if(shuju.length!=1){//存取款check = new Check(accountList,shuju[0],shuju[1],shuju[2],Double.parseDouble(shuju[3]));check2 = new Check2(accountList,shuju[0],shuju[1],shuju[2],Double.parseDouble(shuju[3]));check3 = new Check3(accountList,accountList1,shuju[0],shuju[1],shuju[2],Double.parseDouble(shuju[3]));check4 = new Check4(accountList,shuju[0],shuju[1],shuju[2],Double.parseDouble(shuju[3]));if (check.check()){if(check3.check()){//貸記賬號//System.out.println("貸記賬號");if(check2.check()){//跨行Access3 access3 = new Access3(accountList,shuju[0], shuju[1],shuju[2],Double.parseDouble(shuju[3]));access3.access();//System.out.println("跨行");Show2 show2 = new Show2(accountList,accountList1,shuju[0], shuju[1],shuju[2],Double.parseDouble(shuju[3]));show2.show();}else {//未跨行Access2 access2 = new Access2(accountList,shuju[0], shuju[1],shuju[2],Double.parseDouble(shuju[3]));access2.access();//System.out.println("未跨行");Show2 show2 = new Show2(accountList,accountList1,shuju[0], shuju[1],shuju[2],Double.parseDouble(shuju[3]));show2.show();}}else {//借記賬號if(check4.check()){//金額檢查if(check2.check()){//跨行Access1 access1 = new Access1(accountList,shuju[0], shuju[1],shuju[2],Double.parseDouble(shuju[3]));access1.access();Show show = new Show(accountList,accountList1,shuju[0], shuju[1],shuju[2],Double.parseDouble(shuju[3]));show.show();}else {//未跨行Access access = new Access(accountList,shuju[0], shuju[1],shuju[2],Double.parseDouble(shuju[3]));access.access();Show show = new Show(accountList,accountList1,shuju[0], shuju[1],shuju[2],Double.parseDouble(shuju[3]));show.show();}}}}}else {//余額check1=new Check1(accountList,shuju[0]);if(check1.check()){Show1 show1= new Show1(accountList,shuju[0]);show1.show1();}}kp=x.nextLine();}}

總結

以上是生活随笔為你收集整理的7-1 ATM机类结构设计(二) (100 分)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。