
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

