Bài t p DotNet Framework Tu n 2
(L p, giao di n)
Yêu c u:
T t c các bài t p l u trong th m c: ư ư D:\MaSV_HoTen\Tuan2\
Dùng Console Application.
Bài 1.
T o m t project có 2 class nh sau: ư
BankAccount:
Có các field:
o private int accNumber;
o private String firstName;
o private String lastName;
o private int balance;
Có m t constructor v i 4 đi s (int accNo, String fName, String lname, int bal )
đ kh i t o giá tr cho các field t ng ng khi t o đi t ng ươ ượ
Có các ph ng th c:ươ
public boolean widthdraw(int amonut): cho phép rút s ti n amount t tài
kh an.
oS ti n c n rút ph i h p l (0<amount<balance)
oHàm tr v true n u thành công, ng c l i tr v false ế ượ
public boolean deposit(int amount): cho phép g i ti n vào tài kh an
oS ti n g i vào ph i h p l (0<amount)
oHàm tr v true n u thành công, ng c l i tr v false ế ượ
public String toString()
{
1
return "Account Num: " + accNumber + "\nName: " + firstName + " "
+lastName + "\n Balance: " + balance;
}
Class BankTest: Ch a hàm main th c hi n các công vi c sau:
Khai báo m t bi n ki u BankAccount ba ế
T o menu v i các ch c năng nh sau: ư
1. Create new Account
Khai báo bi n: accNum, fName, lName, Balế
Nh p giá tr cho các bi n t bàn phím ế
G i new đ t o m t account m i (nh truy n giá tr )
2. Withdraw
Nh p s ti n mu n rút
G i ph ng th c Withdraw sau đó thông báo k t qu d a vào giá ươ ế
tr tr v
3. Deposit
Các b c t ng t Withdraw ướ ươ
4. Print account Information
5. Exit
Khi ng i s d ng ch n m t công vi c thì th c hi n ch c năng t ng ngườ ươ
Bài 2.
T o m t project có 3 class nh sau: ư
CDinfo:
Có các field:
o private int CDno;
o private String title;
2
o private String author;
o private int price;
Có m t constructor v i 4 đi s (int cdNum, String cdTitle, String cdAuthor, int price ) đ
kh i t o giá tr cho các field t ng ng khi t o đi t ng ươ ượ
Có ph ng th c:ươ
public String toString(): tr v m t chu i ch a t t c thông tin c a CD
CDList:
Khai báo và kh i t o m t m ng list ki u CDinfo
Khai báo int count=0 (l u s CD đã có trong m ng)ư
Vi t constructor ếCDList(int n): dùng kh i t o m ng list v i n ph n t (n>0)
Vi t ph ng th c : ế ươ int AddCD(CDinfo newCD): thêm newCD vào m ng list t i v trí
count. (list[count]=newCD)Sau khi thêm thêm tăng count lên .
L u ý: Ch thêm n u m ng list còn ch (count<list.length), hàm tr v 0 n u thêm thành ư ế ế
công, -1 n u không còn ch đ thêmế
Vi t ph ng th c ế ươ CD searchCD(String CDtitle) tìm m t CD trong list theo t a CD
(title). Ph ng th c tr v CD tim th y trong m ng ươ list ho c null n u không tìm th y. ế
Vi t ph ng th c ế ươ printAllCD() in thông tin t t c CD có trong m ng list
Class CDTest: Ch a hàm main th c hi n các công vi c sau:
Khai báo và kh i t o CDCollection ki u CDList n ph n t (n nh p t bàn phím)
T o menu v i các ch c năng nh sau: ư
1. Create new CD
Khai báo các bi n đ nh p: thông tin c a m t CDế
Khai báo và kh i t o m t CD m i
Thêm cd v a t o vào CDCollection ( CDCollection.AddCD)
Thông báo k t qu c a vi c thêm CDế
2. Search CD by Title
3
Nh p tên CD mu n tìm (nh p vào m t bi n CDTitle ki u String) ế
G i ph ng th c searchCD() c a ươ CDCollection đ tìm, n u k t qu tr ế ế
v khác null thì in thông tin c a CD v a tìm th y, ng c l i thông báo ượ
“Kg tìm th y”
3. Display all CD
In t t c các CD lên màn hình
4. Exit
Bài 3. (Inheritance and Interfaces)
T o ng d ng đ tính toán thu nh p cho các c u th bong chày. ng d ng g m các
l p sau:
Player:
Abstract class
Thu c tính: Tên c u th
Constructor: gán giá tr cho Tên c u th
Abstract Method: displayDetail: Hi n th tên c u th
Tax
Interface
Abstract Method: calculateTax() tính thu thu nh p c a c u th ế
PlayerIncome:
Th a k l p ế Player và th c thi (implement) l p Tax
Ch a Constant TAX_PERCENT
Thu c tính: Thu nh p c a c u th (income)
Constructor: có hai tham s ch a tên và thu nh p c a c u th .
oGán giá tr cho thu c tính thu nh p
oG i Constructor c a l p Player đ gán giá tr cho thu c tinh tên c u th
Vi t code(implement) cho ph ng th c ế ươ calculateTax { return TAX_PERCENT*
income; }
Vi t code(implement) cho ph ng th c ế ươ displayDetail: hi n th tên ,thu nh p và
thu thu nh p c a c u th ế xu t (name + “, income=” + income + “tax=” + calculateTax() );
GradeBonus:
Interface
Abstract method: calculateGradeBonus: tính ti n th ng cho c u th ưở
4
TournamentIncome:
Th a k l p ế Player và th c thi Interface GradeBonus
Thu c tính: grade (h ng c u th ), rate(m c đáng giá c a c u th )
Constant: GRADE_BONUS_PERCENT: t l th ng cho c u th (giá tr =0.3) ưở
Constructor: có ba tham s : ch a tên, h ng và đánh giá c a c u th :
oGán giá tr cho thu c tính h ng, đánh giá
oG i Constructor c a l p Player đ gán giá tr cho thu c tinh tên c u th
Vi t code(implement) cho ph ng th c ế ươ
ocalculateGradeBonus:
if (grade>=2 && rate>=2) return GREAT_BONUS_PERCENT * grade;
return 0; // code t n đnh
odisplayDetail:
xu t (name + “,Bonus=” + calculateGreatBonus());
PlayerTest:
{ main()
{ PlayerIncom p1= new PlayerIncome( “Albert”, 10000);
TournamentIncome p2= new TournamentIncome (“Alberto”,3,2);
p1.displayDetail();
p2.displayDetail();
}
}
Bài 4.
Vi t ch ng trình xây d ng đi t ng Person g m có các thu c tính sau:ế ươ ượ
ID int,
FullName String,
Add String.
Sau đó xây d ng class cho phép ng i dùng nh p vào 10 Person. Xu t danh sách trên ườ
ra màn hình theo th t tăng d n c a ID.
Bài 5.
Vi t ch ng trình xây d ng đi t ng Shape g m có các thu c tính sau:ế ươ ượ
M ng đi m ch a danh sách các Đi m.
Tên hình, String
Xây d ng ph ng th c tính chu vi c a hình Shape trên, đng th i nh p vào 4 hình ươ
Shape xu t ra danh dách các hình trên theo th t tăng d n c a thu c tính Chuvi.
5