資源簡介
1. 賬戶類(滿分50 分)
版本1:滿分10 分
設(shè)計(jì) Account1 類,包含:
■ 一個(gè)名為id 的int 類型的私有數(shù)據(jù)域(默認(rèn)值為0),長度為6 位。
■ 一個(gè)名為balance 的double 類型的私有數(shù)據(jù)域(默認(rèn)值為0)。
■ 一個(gè)名為annualInterestRate 的double 類型的私有數(shù)據(jù)域存儲(chǔ)當(dāng)前利率(默認(rèn)值為0)。
假設(shè)所有的賬戶都有相同的利率。
■ 一個(gè)名為dateCreated 的Date 類型的私有數(shù)據(jù)域存儲(chǔ)賬戶的開戶日期。
■ 一個(gè)能創(chuàng)建默認(rèn)賬戶的無參構(gòu)造方法。
■ 一個(gè)能創(chuàng)建帶特定id 和初始余額的構(gòu)造方法,初始余額不能為負(fù)數(shù)。
■ id、balance 和annualInterestRate 的訪問器和修改器。
■ dateCreated 的訪問器。
■ 一個(gè)名為getMonthlyInterestRate 的方法返回月利率。
■ 一個(gè)名為withDraw 的方法從賬戶提取特定金額。
■ 一個(gè)名為deposit 的方法向賬戶存人特定金額。
■ double 類型的數(shù)據(jù)域保留2 位小數(shù)。
■ 成員方法和數(shù)據(jù)域應(yīng)進(jìn)行基本的合理性檢查。
設(shè)計(jì)測試類ATMMachine1:
■ 創(chuàng)建一個(gè)有100 個(gè)賬戶的數(shù)組,其id 為0,1,2,...99, 并初始化收支為1000 美元。
■ 主菜單如下(可參考教材中文版P296 或英文版P367):
Main menu
1: check balance
2: withdraw
3: deposit
4: exit
版本2:滿分20 分
擴(kuò)展 Account1 類為Account2 類:
■ Account2 類繼承Account1 類。
■ 為Account2 類新增一個(gè)名為password 的String 類型的私有數(shù)據(jù)域存儲(chǔ)賬號(hào)密碼。
password 只能為字母或數(shù)字,長度不能小于6 且不能大于10。密碼顯示時(shí)為*******。
■ 為Account2 類新增一個(gè)名為name 的String 類型的私有數(shù)據(jù)域存儲(chǔ)客戶名字。
■ 為Account2 類新增一個(gè)名為transactions 的ArrayList 類型的新數(shù)據(jù)域,其為客戶存
儲(chǔ)交易記錄。這要求新建一個(gè)名為Transaction 的類,類的定義請(qǐng)參照教材中文版P327 或英
文版P404。每筆交易都是Transaction 類的一個(gè)實(shí)例。
■ 新增一個(gè)帶初始余額的構(gòu)造方法,其id 隨機(jī)產(chǎn)生,但不能與當(dāng)前系統(tǒng)的id 重復(fù)。
若初始余額的參數(shù)為負(fù)數(shù),則拋出一個(gè)自定義異常并在當(dāng)前構(gòu)造方法中進(jìn)行處理。
■ 重寫方法withDraw,要求支取的金額為100 的整數(shù)倍,并且當(dāng)日支取金額不能超過
5000,支取金額不允許透支。每進(jìn)行一次操作應(yīng)向transactions 數(shù)組線性表添加一筆交易。
■ 重寫方法deposit,要求每進(jìn)行一次操作應(yīng)向transactions 數(shù)組線性表添加一筆交易。
■ 新增一個(gè)方法changePassword,只有舊密碼正確,新密碼符合要求,且兩次輸入相
同的情況下才可以成功修改密碼
設(shè)計(jì)測試類ATMMachine2,其主菜單如下(可參考教材中文版P296 或英文版P367):
Main menu
0:create a account
1: check balance
2: withdraw
3: deposit
4:details of the transaction
5: change password
6:exit
■ 若用戶選擇新建一個(gè)賬號(hào), 則應(yīng)提示用戶輸入賬號(hào)password 、balance 和
annualInterestRate,其中id 隨機(jī)產(chǎn)生。新產(chǎn)生的賬戶應(yīng)序列化到名為accounts.dat 的文件中。
所有賬戶只能通過這種方式產(chǎn)生。
■ 所有用戶操作結(jié)果應(yīng)同步到accounts.dat 文件中相應(yīng)賬戶中。
■ 所有用戶操作應(yīng)有友好、簡介的提示語。
版本3:滿分20 分
請(qǐng)參照銀行的ATM 機(jī)界面,在Account2 類的基礎(chǔ)上開發(fā)一個(gè)GUI 界面的ATM 系統(tǒng)。
要求界面應(yīng)模擬小鍵盤,并且賬戶信息讀、寫于文件accounts.dat。

代碼片段和文件信息
package?com.java.account1;
import?java.util.*;
public?class?Account1
{
????
?//private?Integer?id=new?Integer(6);??//包裝類型,定義id的長度
?private?int?id=0;?//?賬戶id
?private?Date?dateCreated;?//開戶日期
?
?private?double?balance=0;//余額
?private?double?annualInterestRate=0;???//利率
?
?
?public?Account1()??????//默認(rèn)賬戶的無參構(gòu)造方法
?{
?
?}
?public?Account1(int?iddouble?balance){
?this.id=id;
?if(balance<0){
?//balance=0;
?System.out.println(“初始余額不能為負(fù)!“);
?}
?this.balance=balance;
?}
?
?
?//修改器和訪問器
?public?int?getId()?{
??return?id;
?}
?public?void?setId(int?id)?{
??this.id?=?id;
?}
?
?
?public?double?getBalance(){
?return?balance;
?}
?public?void?setBalance(double?balance){
?this.balance=balance;
?}
?
?
?public?double?getAnnualInterestRate()?{
??return?annualInterestRate;
?}
?public?void?setAnnualInterestRate(double?annualInterestRate)?{
??this.annualInterestRate?=?annualInterestRate;
?}
?
?
?
?//dateCreated的訪問器
?
?public?Date?getDateCreated()?{
??return?dateCreated;
?}
?
/*?public?void?setDateCreated(Date?dateCreated)?{
??this.dateCreated?=?dateCreated;
?}*/
?
?
?
?public?double?getMonthlyInterestRate()?//返回月利率
?{
??return?annualInterestRate/12;
?}
?
?
????//向帳戶中存入特定金額
?public?void?deposit(double?money)?
?{
?balance=balance+money;?
?}
?
?
?//向賬戶中取出特定金額
?public?void?withdraw(double?money){
if(balance? System.out.println(“對(duì)不起,賬戶余額不足!“);
}
else
{
balance=balance-money;;
}
}
?
?
//?????public?static?void?main(String?args[]){
// ??Account1?acco=new?Account1(1-5);
//???}
?
?
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\
?????文件?????????301??2013-06-29?23:08??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\.classpath
?????文件?????????387??2013-06-29?23:08??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\.project
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\.settings\
?????文件?????????629??2013-06-29?23:08??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\.settings\org.eclipse.jdt.core.prefs
?????文件?????????395??2013-09-13?21:13??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\account.dat
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account1\
?????文件????????1818??2013-09-13?20:09??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account1\Account1.class
?????文件????????2793??2013-09-13?20:09??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account1\ATMMachine1.class
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account2\
?????文件????????1818??2013-09-13?20:09??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account2\Account1.class
?????文件????????3453??2013-09-13?20:09??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account2\Account2.class
?????文件????????4709??2013-09-13?20:09??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account2\ATMMachine2.class
?????文件????????5894??2013-09-13?20:09??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account2\Bank.class
?????文件????????1015??2013-09-13?20:09??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account2\Transaction.class
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account3\
?????文件????????1818??2013-09-13?20:09??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account3\Account1.class
?????文件????????3098??2013-09-13?20:35??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account3\Account2.class
?????文件???????27082??2013-09-13?21:13??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account3\ATMMachine3.class
?????文件????????5874??2013-09-13?20:09??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account3\Bank.class
?????文件????????1015??2013-09-13?20:09??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\bin\com\java\account3\Transaction.class
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\images\
?????文件???????20765??2013-09-03?14:43??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\images\background.jpg
?????文件???????66051??2013-09-03?15:23??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\images\logo.jpg
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\src\
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\src\com\
?????目錄???????????0??2013-12-29?14:59??賬戶類(ATM模擬設(shè)計(jì)和實(shí)現(xiàn))\BankAccount\src\com\java\
............此處省略15個(gè)文件信息
- 上一篇:IP電話網(wǎng)絡(luò)組建案例
- 下一篇:人工智能綜述
評(píng)論
共有 條評(píng)論