前言:
總結三次題目集的知識點、題量、難度等情況。
目錄:
- 題目集7(7-1)、(7-2)兩道題目的遞進式設計分析總結
- 題目集8和題目集9兩道ATM機模擬題目的設計思路分析總結
一. 題目集7(7-1)、(7-2)兩道題目的遞進式設計分析總結
掌握類的繼承、多型性使用方法以及介面的應用。詳見作業指導書 2020-OO第07次作業-1指導書V1.0.pdf
輸入格式:
- 首先,在一行上輸入一串數字(1~4,整數),其中,1代表圓形卡片,2代表矩形卡片,3代表三角形卡片,4代表梯形卡片。各數字之間以一個或多個空格分隔,以“0”結束。例如:
1 3 4 2 1 3 4 2 1 3 0
- 然後根據第一行數字所代表的卡片圖形型別,依次輸入各圖形的相關引數,例如:圓形卡片需要輸入圓的半徑,矩形卡片需要輸入矩形的寬和長,三角形卡片需要輸入三角形的三條邊長,梯形需要輸入梯形的上底、下底以及高。各資料之間用一個或多個空格分隔。
輸出格式:
- 如果圖形數量非法(小於0)或圖形屬性值非法(數值小於0以及三角形三邊不能組成三角形),則輸出
Wrong Format
。 - 如果輸入合法,則正常輸出,所有數值計算後均保留小數點後兩位即可。輸出內容如下:
- 排序前的各圖形型別及面積,格式為
圖形名稱1:面積值1圖形名稱2:面積值2 …圖形名稱n:面積值n
,注意,各圖形輸出之間用空格分開,且輸出最後存在一個用於分隔的空格; - 排序後的各圖形型別及面積,格式同排序前的輸出;
- 所有圖形的面積總和,格式為
Sum of area:總面積值
。
輸入樣例1:
在這裡給出一組輸入。例如:
1 5 3 2 0
輸出樣例1:
在這裡給出相應的輸出。例如:
Wrong Format
輸入樣例2:
在這裡給出一組輸入。例如:
4 2 1 3 0
3.2 2.5 0.4 2.3 1.4 5.6 2.3 4.2 3.5
輸出樣例2:
在這裡給出相應的輸出。例如:
The original list:
Trapezoid:1.14 Rectangle:3.22 Circle:98.52 Triangle:4.02
The sorted list:
Circle:98.52 Triangle:4.02 Rectangle:3.22 Trapezoid:1.14
Sum of area:106.91
輸入樣例3:
在這裡給出一組輸入。例如:
4 2 1 3 0
3.2 2.5 0.4 2.3 1.4 5.6 2.3 4.2 8.4
輸出樣例3:
在這裡給出相應的輸出。例如:
Wrong Format
掌握類的繼承、多型性使用方法以及介面的應用。 具體需求參考作業指導書。
輸入格式:
- 在一行上輸入一串數字(1~4,整數),其中,1代表圓形卡片,2代表矩形卡片,3代表三角形卡片,4代表梯形卡片。各數字之間以一個或多個空格分隔,以“0”結束。例如:
1 3 4 2 1 3 4 2 1 3 0
- 根據第一行數字所代表的卡片圖形型別,依次輸入各圖形的相關引數,例如:圓形卡片需要輸入圓的半徑,矩形卡片需要輸入矩形的寬和長,三角形卡片需要輸入三角形的三條邊長,梯形需要輸入梯形的上底、下底以及高。各資料之間用一個或多個空格分隔。
輸出格式:
- 如果圖形數量非法(<=0)或圖形屬性值非法(數值<0以及三角形三邊不能組成三角形),則輸出
Wrong Format
。 - 如果輸入合法,則正常輸出,所有數值計算後均保留小數點後兩位即可。輸出內容如下:
- 排序前的各圖形型別及面積,格式為
[圖形名稱1:面積值1圖形名稱2:面積值2 …圖形名稱n:面積值n ]
,注意,各圖形輸出之間用空格分開,且輸出最後存在一個用於分隔的空格,在結束符“]”之前; - 輸出分組後的圖形型別及面積,格式為
[圓形分組各圖形型別及面積][矩形分組各圖形型別及面積][三角形分組各圖形型別及面積][梯形分組各圖形型別及面積]
,各組內格式為圖形名稱:面積值
。按照“Circle、Rectangle、Triangle、Trapezoid”的順序依次輸出; - 各組內圖形排序後的各圖形型別及面積,格式同排序前各組圖形的輸出;
- 各組中面積之和的最大值輸出,格式為
The max area:面積值
。
輸入樣例1:
在這裡給出一組輸入。例如:
1 5 3 2 0
輸出樣例1:
在這裡給出相應的輸出。例如:
Wrong Format
輸入樣例2:
在這裡給出一組輸入。例如:
4 2 1 3 0
3.2 2.5 0.4 2.3 1.4 5.6 2.3 4.2 3.5
輸出樣例2:
在這裡給出相應的輸出。例如:
The original list:
[Trapezoid:1.14 Rectangle:3.22 Circle:98.52 Triangle:4.02 ]
The Separated List:
[Circle:98.52 ][Rectangle:3.22 ][Triangle:4.02 ][Trapezoid:1.14 ]
The Separated sorted List:
[Circle:98.52 ][Rectangle:3.22 ][Triangle:4.02 ][Trapezoid:1.14 ]
The max area:98.52
輸入樣例3:
在這裡給出一組輸入。例如:
2 1 2 1 1 3 3 4 4 1 1 1 2 1 0
2.3 3.5 2.5 4.5 2.1 2.6 8.5 3.2 3.1 3.6 8.5 7.5 9.1245 6.5 3.4 10.2 11.2 11.6 15.4 5.8 2.13 6.2011 2.5 6.4 18.65
輸出樣例3:
在這裡給出相應的輸出。例如:
The original list:
[Rectangle:8.05 Circle:19.63 Rectangle:9.45 Circle:21.24 Circle:226.98 Triangle:4.65 Triangle:29.80 Trapezoid:50.49 Trapezoid:175.56 Circle:105.68 Circle:14.25 Circle:120.81 Rectangle:16.00 Circle:1092.72 ]
The Separated List:
[Circle:19.63 Circle:21.24 Circle:226.98 Circle:105.68 Circle:14.25 Circle:120.81 Circle:1092.72 ][Rectangle:8.05 Rectangle:9.45 Rectangle:16.00 ][Triangle:4.65 Triangle:29.80 ][Trapezoid:50.49 Trapezoid:175.56 ]
The Separated sorted List:
[Circle:1092.72 Circle:226.98 Circle:120.81 Circle:105.68 Circle:21.24 Circle:19.63 Circle:14.25 ][Rectangle:16.00 Rectangle:9.45 Rectangle:8.05 ][Triangle:29.80 Triangle:4.65 ][Trapezoid:175.56 Trapezoid:50.49 ]
The max area:1601.31
輸入樣例4:
在這裡給出一組輸入。例如:
1 1 3 0
6.5 12.54 3.6 5.3 6.4
輸出樣例4:
在這裡給出相應的輸出。例如:
The original list:
[Circle:132.73 Circle:494.02 Triangle:9.54 ]
The Separated List:
[Circle:132.73 Circle:494.02 ][][Triangle:9.54 ][]
The Separated sorted List:
[Circle:494.02 Circle:132.73 ][][Triangle:9.54 ][]
The max area:626.75
聚合二Main類:
二·題目集8和題目集9兩道ATM機模擬題目的設計思路分析總結
設計ATM模擬系統,具體要求參見作業說明。 OO作業8-1題目說明.pdf
輸入格式:
每一行輸入一次業務操作,可以輸入多行,最終以字元#終止。具體每種業務操作輸入格式如下:
- 存款、取款功能輸入資料格式:
卡號 密碼 ATM機編號 金額
(由一個或多個空格分隔), 其中,當金額大於0時,代表取款,否則代表存款。 - 查詢餘額功能輸入資料格式:
卡號
輸出格式:
①輸入錯誤處理
- 如果輸入卡號不存在,則輸出
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.
。 - 如果檢測為跨行存取款,則輸出
Sorry,cross-bank withdrawal is not supported.
。
②取款業務輸出
輸出共兩行,格式分別為:
[使用者姓名]在[銀行名稱]的[ATM編號]上取款¥[金額]
當前餘額為¥[金額]
其中,[]說明括起來的部分為輸出屬性或變數,金額均保留兩位小數。
③存款業務輸出
輸出共兩行,格式分別為:
[使用者姓名]在[銀行名稱]的[ATM編號]上存款¥[金額]
當前餘額為¥[金額]
其中,[]說明括起來的部分為輸出屬性或變數,金額均保留兩位小數。
④查詢餘額業務輸出
¥[金額]
金額保留兩位小數。
輸入樣例1:
在這裡給出一組輸入。例如:
6222081502001312390 88888888 06 -500.00
#
輸出樣例1:
在這裡給出相應的輸出。例如:
張無忌在中國工商銀行的06號ATM機上存款¥500.00
當前餘額為¥10500.00
輸入樣例2:
在這裡給出一組輸入。例如:
6217000010041315709 88888888 02 3500.00
#
輸出樣例2:
在這裡給出相應的輸出。例如:
楊過在中國建設銀行的02號ATM機上取款¥3500.00
當前餘額為¥6500.00
輸入樣例3:
在這裡給出一組輸入。例如:
6217000010041315715
#
輸出樣例3:
在這裡給出相應的輸出。例如:
¥10000.00
輸入樣例4:
在這裡給出一組輸入。例如:
6222081502001312390 88888888 06 -500.00
6222081502051320786 88888888 06 1200.00
6217000010041315715 88888888 02 1500.00
6217000010041315709 88888888 02 3500.00
6217000010041315715
#
輸出樣例4:
在這裡給出相應的輸出。例如:
張無忌在中國工商銀行的06號ATM機上存款¥500.00
當前餘額為¥10500.00
韋小寶在中國工商銀行的06號ATM機上取款¥1200.00
當前餘額為¥8800.00
楊過在中國建設銀行的02號ATM機上取款¥1500.00
當前餘額為¥8500.00
楊過在中國建設銀行的02號ATM機上取款¥3500.00
當前餘額為¥5000.00
¥5000.00
思路與應用:
import java.util.ArrayList; import java.util.Scanner; import java.util.Iterator; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); UnionPay unionPay = new UnionPay(); Bank ccb = new Bank("1001","中國建設銀行"); Bank icbc = new Bank("1002","中國工商銀行"); unionPay.addBank(ccb); unionPay.addBank(icbc); ATM aTM1 = new ATM("01",ccb); ATM aTM2 = new ATM("02",ccb); ATM aTM3 = new ATM("03",ccb); ATM aTM4 = new ATM("04",ccb); ATM aTM5 = new ATM("05",icbc); ATM aTM6 = new ATM("06",icbc); ccb.addATM(aTM1); ccb.addATM(aTM2); ccb.addATM(aTM3); ccb.addATM(aTM4); icbc.addATM(aTM5); icbc.addATM(aTM6); User Yangguo = new User("360101200102122324","楊過","13856223254"); User Guojing = new User("360101200012302552","郭靖","13800021124"); User Zhangwuji = new User("360502199805163221","張無忌","13952110011"); User Weixiaobao = new User("360201200513243326","韋小寶","13025996587"); Account ccbAcc1 = new Account("3217000010041315709",10000.00,Yangguo,ccb); Account ccbAcc2 = new Account("3217000010041315715",10000.00,Yangguo,ccb); Account ccbAcc3 = new Account("3217000010051320007",10000.00,Guojing,ccb); Account icbcAcc1 = new Account("3222081502001312389",10000.00,Zhangwuji,icbc); Account icbcAcc2 = new Account("3222081502001312390",10000.00,Zhangwuji,icbc); Account icbcAcc3 = new Account("3222081502001312399",10000.00,Zhangwuji,icbc); Account icbcAcc4 = new Account("3222081502051320785",10000.00,Weixiaobao,icbc); Account icbcAcc5 = new Account("3222081502051320786",10000.00,Weixiaobao,icbc); ccb.addAccount(ccbAcc1); ccb.addAccount(ccbAcc2); ccb.addAccount(ccbAcc3); icbc.addAccount(icbcAcc1); icbc.addAccount(icbcAcc2); icbc.addAccount(icbcAcc3); icbc.addAccount(icbcAcc4); icbc.addAccount(icbcAcc5); Yangguo.addAccount(ccbAcc1); Yangguo.addAccount(ccbAcc2); Guojing.addAccount(ccbAcc3); Zhangwuji.addAccount(icbcAcc1); Zhangwuji.addAccount(icbcAcc2); Zhangwuji.addAccount(icbcAcc3); Weixiaobao.addAccount(icbcAcc4); Weixiaobao.addAccount(icbcAcc5); Card ccbCard1 = new Card("6217000010041315709","88888888",ccbAcc1); Card ccbCard2 = new Card("6217000010041315715","88888888",ccbAcc1); Card ccbCard3 = new Card("6217000010041315718","88888888",ccbAcc2); Card ccbCard4 = new Card("6217000010051320007","88888888",ccbAcc3); Card icbcCard5 = new Card("6222081502001312389","88888888",icbcAcc1); Card icbcCard6 = new Card("6222081502001312390","88888888",icbcAcc2); Card icbcCard7 = new Card("6222081502001312399","88888888",icbcAcc3); Card icbcCard8 = new Card("6222081502001312400","88888888",icbcAcc3); Card icbcCard9 = new Card("6222081502051320785","88888888",icbcAcc4); Card icbcCard10 = new Card("6222081502051320786","88888888",icbcAcc5); ccbAcc1.addCard(ccbCard1); ccbAcc1.addCard(ccbCard2); ccbAcc2.addCard(ccbCard3); ccbAcc3.addCard(ccbCard4); icbcAcc1.addCard(icbcCard5); icbcAcc2.addCard(icbcCard6); icbcAcc3.addCard(icbcCard7); icbcAcc3.addCard(icbcCard8); icbcAcc4.addCard(icbcCard9); icbcAcc5.addCard(icbcCard10); StringBuilder sb = new StringBuilder(); String data; while(!((data = input.nextLine()).equals("#"))) { sb.append(data + "\n"); } String[] dt = sb.toString().split("\n"); for(int i = 0; i < dt.length; i++) { String[] dataLine = dt[i].toString().split("\\s+"); if(dataLine.length == 1) { GetBalance gb = new GetBalance(unionPay); System.out.println(String.format("¥%.2f", gb.getBalance(dataLine[0]))); }else { Withdraw wd = new Withdraw(unionPay,dataLine[0],dataLine[1],dataLine[2],Double.parseDouble(dataLine[3])); wd.withdraw(); } } } } class Bank { private String bankNO; private String bankName; private ArrayList<Account> accountList = new ArrayList<Account>(); private ArrayList<ATM> ATMList = new ArrayList<ATM>(); public Bank() { super(); // TODO Auto-generated constructor stub } public Bank(String bankNO, String bankName) { super(); this.bankNO = bankNO; this.bankName = bankName; } public String getBankNO() { return bankNO; } public void setBankNO(String bankNO) { this.bankNO = bankNO; } public String getBankName() { return bankName; } public void setBankName(String bankName) { this.bankName = bankName; } public void addAccount(Account account) { this.accountList.add(account); } public void removeAccount(Account account) { this.accountList.remove(account); } public void addATM(ATM aTM) { this.ATMList.add(aTM); } public void removeATM(ATM aTM) { this.ATMList.remove(aTM); } public ArrayList<Account> getAccountList() { return accountList; } public void setAccountList(ArrayList<Account> accountList) { this.accountList = accountList; } public ArrayList<ATM> getATMList() { return ATMList; } public void setATMList(ArrayList<ATM> aTMList) { ATMList = aTMList; } } class User { private String ID; private String name; private String Phone; ArrayList<Account> list = new ArrayList<Account>(); public User() { super(); // TODO Auto-generated constructor stub } public User(String iD, String name, String phone) { super(); ID = iD; this.name = name; Phone = phone; } public String getID() { return ID; } public void setID(String iD) { ID = iD; } public String getPhone() { return Phone; } public void setPhone(String phone) { Phone = phone; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void addAccount(Account account) { this.list.add(account); } public void removeAccount(Account account) { this.list.remove(account); } } class Account { private String accountNO; private double balance = 0; private User user = null; private Bank bank = null; private static ArrayList<Card> list = new ArrayList<Card>(); public Account() { super(); // TODO Auto-generated constructor stub } public Account(String accountNO, double balance, User user, Bank bank) { super(); this.accountNO = accountNO; this.balance = balance; this.user = user; this.bank = bank; } public void addCard(Card card) { list.add(card); } public void removeCard(Card card) { list.remove(card); } public double getBalance() { return balance; } public void setBalance(double balance) { this.balance = balance; } public String getAccountNO() { return accountNO; } public void setAccountNO(String accountNO) { this.accountNO = accountNO; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public Bank getBank() { return bank; } public void setBank(Bank bank) { this.bank = bank; } public ArrayList<Card> getList() { return list; } public void setList(ArrayList<Card> list) { Account.list = list; } public static Account getAmountbyCardNO(String cardNO) { Iterator<Card> cardItr = Account.list.iterator(); Card card = null; while(cardItr.hasNext()) { card = cardItr.next(); if(card.getCardNO().equals(cardNO)) { return card.getAccount(); } } return null; } } class Card { private String cardNO; private String cardPassword; private Account account = null; public Card() { super(); // TODO Auto-generated constructor stub } public Card(String cardNO, String cardPassword, Account account) { super(); this.cardNO = cardNO; this.cardPassword = cardPassword; this.account = account; } public String getCardNO() { return cardNO; } public void setCardNO(String cardNO) { this.cardNO = cardNO; } public String getCardPassword() { return cardPassword; } public Account getAccount() { return account; } public void setAccount(Account account) { this.account = account; } public void setCardPassword(String cardPassword) { this.cardPassword = cardPassword; } public boolean checkCard() { Pattern p = Pattern.compile("\\d{16}+"); Matcher m = p.matcher(this.cardNO); return m.matches(); } public boolean checkPassword(String password) { return this.cardPassword.equals(password); } } class ATM { private String ATMID; private Bank bank = null; public ATM() { super(); // TODO Auto-generated constructor stub } public ATM(String aTMID, Bank bank) { super(); ATMID = aTMID; this.bank = bank; } public String getATMID() { return ATMID; } public void setATMID(String aTMID) { ATMID = aTMID; } public Bank getBank() { return bank; } public void setBank(Bank bank) { this.bank = bank; } } class Withdraw { private UnionPay unionPay; private String cardNO; private String cardPassword; private String ATMID; private double amount; public Withdraw() { super(); // TODO Auto-generated constructor stub } public Withdraw(UnionPay unionPay, String cardNO, String cardPassword, String aTMID, double amount) { super(); this.unionPay = unionPay; this.cardNO = cardNO; this.cardPassword = cardPassword; ATMID = aTMID; this.amount = amount; } public Withdraw(String cardNO, String cardPassword, String aTMID, double amount) { super(); this.cardNO = cardNO; this.cardPassword = cardPassword; ATMID = aTMID; this.amount = amount; } public void withdraw() { /** * 校驗該卡是否存在 */ Card card = ValidateData.getCardbyCardNO(unionPay, cardNO); if(card == null) { System.out.println("Sorry,this card does not exist."); System.exit(0); } /** * 校驗ATM是否存在 */ ATM aTM = ValidateData.getATMbyATMID(unionPay, ATMID); if(aTM == null) { System.out.println("Sorry,the ATM's id is wrong."); System.exit(0); } Account account = Account.getAmountbyCardNO(cardNO); double balance = account.getBalance(); /** * 校驗卡密碼是否正確 */ if(!card.getCardPassword().equals(cardPassword)) { System.out.println("Sorry,your password is wrong."); System.exit(0); } /** * 校驗取款金額是否大於餘額 */ if (amount > balance) { System.out.println("Sorry,your account balance is insufficient."); System.exit(0); } /** * 校驗是否為跨行取款 */ if (account.getBank().getBankNO() != aTM.getBank().getBankNO()) { System.out.println("Sorry,cross-bank withdrawal is not supported."); System.exit(0); } account.setBalance(balance - amount);//取款更新餘額操作 if(amount >= 0) { showResult(account,1); }else { showResult(account,0); } } public void showResult(Account account,int flag) { String type = ""; if(flag == 1) { type = "取款"; }else { type = "存款"; amount *= -1; } String userName = account.getUser().getName(); String bankName = account.getBank().getBankName(); System.out.println(userName + "在" + bankName + "的" + ATMID + "號ATM機上" + type + String.format("¥%.2f", amount)); System.out.println("當前餘額為" + String.format("¥%.2f", account.getBalance())); } } class ValidateData { /** * 校驗卡號是否存在 * @param unionPay * @param cardNO * @return */ public static Card getCardbyCardNO(UnionPay unionPay,String cardNO) { Card card = null; Iterator<Bank> bankItr = unionPay.getBankList().iterator(); while(bankItr.hasNext()) { ArrayList<Account> accountList = bankItr.next().getAccountList(); Iterator<Account> accountItr = accountList.iterator(); while(accountItr.hasNext()) { ArrayList<Card> cardList = accountItr.next().getList(); Iterator<Card> cardItr = cardList.iterator(); while(cardItr.hasNext()) { card = cardItr.next(); if(card.getCardNO().equals(cardNO)) { return card; } } } } return null; } /** * 校驗ATM ID是否存在 * @param unionPay * @param ATMID * @return */ public static ATM getATMbyATMID(UnionPay unionPay,String ATMID) { Iterator<Bank> bankItr = unionPay.getBankList().iterator(); Bank bank = null; ATM aTM = null; while(bankItr.hasNext()) { bank = bankItr.next(); Iterator<ATM> aTMItr = bank.getATMList().iterator(); while(aTMItr.hasNext()) { aTM = aTMItr.next(); if(aTM.getATMID().equals(ATMID)) { return aTM; } } } return null; } } class UnionPay { private ArrayList<Bank> bankList = new ArrayList<Bank>(); public UnionPay() { super(); // TODO Auto-generated constructor stub } public UnionPay(ArrayList<Bank> bankList) { super(); this.bankList = bankList; } public ArrayList<Bank> getBankList() { return bankList; } public void setBankList(ArrayList<Bank> bankList) { this.bankList = bankList; } public void addBank(Bank bank) { this.bankList.add(bank); } public void removeBank(Bank bank) { this.bankList.remove(bank); } } class GetBalance { private UnionPay unionPay; public GetBalance() { super(); // TODO Auto-generated constructor stub } public GetBalance(UnionPay unionPay) { super(); this.unionPay = unionPay; } public double getBalance(String cardNO) { return ValidateData.getCardbyCardNO(unionPay, cardNO).getAccount().getBalance(); } }
設計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
System.out.println("業務:"+type+" " + userName + "在" + bankName + "的" + ATMID + "號ATM機上" + type + String.format("¥%.2f", amount)); System.out.println("當前餘額為" + String.format("¥%.2f", account.getBalance()));
總結:
這次的blog題目集總結歸納,總體來說,完成的還是可以的。在PTA上完成了習題後,過了幾天,我又忘記了很多東西,經過這次總結歸納,我又想起了一部分知識,首先就是正規表示式,還是要多練多記,加以鞏固;其次就是類圖,類圖還是有地方看不懂,接下來還是要重點去複習一下類圖的關係,繼承和多型也是要複習的。
實驗這種東西,能夠反映出哪裡沒掌握,哪裡出錯。還是要多練習了,但是如果知識不牢固,沒學好,那實驗做起來還是好難的啊。