You are on page 1of 18

BI TP THC HNH TUN 1

1. Hy vit lp HinhChuNhat gm c:
Attributes : chiu di, chiu rng.
Phng thc thit lp (set), v ly (get) thng tin chiu di, chiu rng.
Phng thc tnh din tch, chu vi.
Phng thc toString gm cc thng tin di, rng, din tch, chu vi.
Vit lp cha hm main cho phn kim nghim.
2. Vit lp Account cho bn:
Phng thc toString tr v chui, nh dng theo
ct, cha ton b thng tin ti khon, yu cu nh dng
tin t USD.
Thm 1 constructor c 2 i s: s ti khon, tn ti
khon. Khi to s d l 50 USD.
Np tin vo ti khon:
S d = S d + S tin np vo.
Rt tin t ti khon:
S d = S d (S tin mun rt + Ph rt) .
n k o hn: S d = S d + S d * Li sut
Thm phng thc chuyn khon. Chuyn tin t ti khon ny sang ti khon khc.
+ transfer (double, double, Account) : boolean
Trong : Mi chc nng cn phi kim tra s tin np, rt, chuyn c hp l hay khng? Khng
hp l nm thng bo li.
.................................................................................................................................................................
Phn vit lp cho phn kim nghim.
To 3 ti khon acct1, acct2, acct3 thng tin nh bn di:

Xut thng tin 3 ti khon ra mn hnh.


Thc hin rt 50 USD t ti khon acct2? Nhn xt?
Np thm 50 USD vo ti khon acct1? Kim tra li ti khon acct1.
Thc hin chuyn 100 USD cho mi ti khon t ti khon acct3 sang acct1, acct2. Kim tra li
thng tin ca 3 ti khon.
Test cho cc trng hp khc.
.................................................................................................................................................................
Phn gii thch lp Account
Account

Ti khon

RATE

Li sut

acctNumber

S ti khon

balance

S d

name

Tn ch ti khon

deposit(double): double

Np tin vo ti khon(s tin np vo) : S d sau khi np

withdraw(double, double): double

Rt tin t ti khon(s tin mun rt, ph rt) : S d sau khi


rt

addInterest(): double

Tng tin li n k o hn() : S d sau khi o hn.

transfer (double, double, Account): Chuyn khon(s tin chuyn, ph rt, ti khon nhn):
boolean

Chuyn thnh cng khng.

BI TP THC HNH TUN 2


1. Vit lp sinh vin gm :
a. Cc thuc tnh: M s (String), h (String), tn (String), gii tnh (String), im ca 4 mn hc (int).
b. To 1 constructor y tham s, 1 default constructor.
c. Vit cc phng thc:
Cc phng thc setters / getters.
Tnh im trung bnh cc mn hc.

Xp loi sinh vin da vo im trung bnh.

Tm im nh nht ca 4 mn hc.

Kim tra sinh vin c b im lit khng (c bt k 1 mn hc im < 3).

Kim tra sinh vin c c khen thng khng? (nu c im trung bnh >= 7.5 v
khng b im lit)

Vit phng thc toString in ton b thng tin trn (ghp h v tn).

2. Vit lp danh sch sinh vin.


a. Constructor : Khi to danh sch n phn t, mi phn t trong mng l 1 sinh vin (dng mng).
b. To danh sch sinh vin vi cc gi tr thuc tnh c pht sinh ngu nhin. Trong :
M s sinh vin lun gm 5 ch s bt k c min tr t 0 99999 (nhng con s t hn
5 ch s s c s 0 ng trc dng class DecimalFormat), khng b trng m s trong
ton b danh sch.
H sinh vin da trn 15 h cho trc.
Tn sinh vin da vo chui sau:
String strTen = An, Anh, Bnh, Bo, Chnh, Cng, Duy, Dng, Giang, Gip, Hiu,
Hip, Hoan, Hon, Huy, Hn, Hng, Hng, Hng, H, Hi, Hu, Kha, Khang, Khnh,
Khi, Kim, Kin, Lai, Lun, Ln, Minh, Mnh, Nam, Ngha, Nguyn, Nhn, Nhn, Nht,
Ny, Phi, Phong, Pht, Phc, Phng, Quang, Qun, Quc, Sang, Sch, Sn, Thao, Thin,
Thing, Thin, ThinTh, Thnh, Thng, Thng, Thnh, Tho, Thng, Thnh, Th, Tin,
Tr, Trng, Tuyt, Tuyn, Tun, Tun, Ti, Tm, Tn, Tng, T, Ti, T, Vi, Vinh, Vit,
V, V, Vng, Vng, Xng, n, t, c;
Gii tnh Nam hoc N.
im cc mn hc c min tr t 0 10.
c. In ton b danh sch sinh vin.
d. In ra danh sch vin c khen thng.
e. Sp xp danh sch sinh vin theo tn.
f. Sp xp danh sch sinh vin theo im trung bnh.
g. Vit cc phng thc tm, thm, xa, sa thng tin sinh vin.
3. Phn kim th, sinh vin to menu case thc hin chng trnh.
3

.................................................................................................................................................................
Giao din chng trnh c th nh sau:

Khi ngi dng chn case 2, in ra mn hnh mu:

BI TP THC HNH TUN 3


Hin thc m hnh lp sau bng ngn ng lp trnh Java.

Trong :
-

totalPrice = quantity * price


(thnh tin = s lng * n gi sn phm)
n

Tng tin ha n (totalCharge) =

count 0

thnh tin.

Phng thc addLineItem(Product p, int q) : void, dng thm mt sn phm p vi s


lng q vo ha n.
.................................................................................................................................................................
-

Phn vit lp cho phn kim nghim, in ra mn hnh theo mu:

.................................................................................................................................................................
Bi tp lm thm:
1. Sao chp bi tp trn sang 1 gi khc (version2), thc hin b sung chnh sa java code cho ph
hp vi m hnh lp (class diagram) sau:

2. Sao chp bi tp trn sang 1 gi khc (version3), thc hin b sung chnh sa java code cho ph
hp vi m hnh lp (class diagram) sau:
class orderVersion2
Employee
-

Product

employeeID: String
firstName: String
lastName: String

toString(): String
property get
+ getEmployeeID(): String
+ getFirstName(): String
+ getLastName(): String
property set
+ setEmployeeID(String): void
+ setFirstName(String): void
+ setLastName(String): void
constructor
+ Employee(String, String, String)
+ Employee()
-emp

productID: String
description: String
price: double

toString(): String
property get
+ getProductID(): String
+ getPrice(): double
+ getDescription(): String
property set
+ setPrice(double): void
+ setProductID(String): void
+ setDescription(String): void
constructor
+ Product()
+ Product(String, String, double)
-product
1

1
0..*

Order
-

0..*

orderID: int
orderDate: Date

OrderDetail

+
+
+

calcTotalCharge(): double
addLineItem(Product, int): void
toString(): String
property get
+ getOrderID(): int
1
+ getOrderDate(): Date
property set
+ setOrderDate(Date): void
constructor
+ Order(int, Date)
0..*

quantity: int

+
+

toString(): String
calcTotalPrice(): double
-lineItems property get
+ getQuantity(): int
property set
0..*
+ setQuantity(int): void
constructor
+ OrderDetail(Product, int)

-listOrder
Customer
-

customerID: String
companyName: String

toString(): String
property get
+ getCustomerID(): String
+ getCompanyName(): String
property set
+ setCustomerID(String): void
+ setCompanyName(String): void
constructor
+ Customer(String, String)

Phn gii thch cc lp


Product

Sn phm

Order

Ha n

productID

m sn phm

orderID

m ha n

orderDate

ngy lp ha n

calTotalCharge

tnh tng tin ha n

description m t sn phm
price

n gi

addLineItem(Product, int) thm(sn phm, s lng) vo ha n


OrderDetail

Chi tit ha n

Customer

Khch hng

quantity

s lng

customerID

m s khch hng

calcTotalPrice tnh thnh tin = s lng * n gi

Employee

companyName tn khch hng

Nhn vin

employeeID m s nhn vin


firstName

Tn nhn vin

lastName

BI TP THC HNH TUN 4


Hin thc m hnh lp sau bng ngn ng lp trnh Java
Bi 1:

Trong :
Din tch hnh trn: area = PI * r2
- Din tch hnh tr:
area = 2 * PI * r * (r + h)
- Th tch hnh tr:
volume = PI * r2 * h

............................................................................................................................................................
Vit lp cho phn kim th

............................................................................................................................................................
Sao chp lp Circle v Point sang package versionComposition. Chnh sa code theo class
diagram sau v vit lp kim th:

Bi 2:
Cng ty tr lng cho nhn vin (Employee) hng tun. Nhn vin trong cng ty gm 4 loi. Nhn
vin tr lng hng tun c nh khng ph thuc s gi lm vic (Boss hoc SalariedEmployee),
nhn vin theo gi (HourlyWorker) c tr lng theo gi v nhn lng lm thm gi (tc l 1,5
ln mc lng theo gi) cho tt c cc gi lm vic vt qu 40 gi, nhn vin hoa hng
(CommissionWorker) nhn c mc lng c bn cng vi tin thu nhp tng thm da vo doanh
s bn hng, nhn vin lm theo sn phm (PieceWorker) tin lng nhn c ph thuc vo s
sn phm h lm.
Ta c UML class diagram nh sau:

Trong :
-

Lp cha tru tng: Employee


Cc lp con ca lp Employee gm: Boss, CommissionWorker, HourlyWorker, PieceWorker
(khng cho php bt k lp no khc k tha t nhng lp ny).
Tt c cc nhn vin cn phi tnh tin thu nhp (earnings) theo tun. Tnh lng cho mi
nhn vin ph thuc vo loi lao ng. V vy, phng thc earnings c khai bo l
phng thc tru tng trong lp Employee.
o Boss: Lng tr c nh theo tun (weeklySalary).
o CommissionWorker: Bao gm lng c bn (salary) + tin hu hng ca 1 n v bn
(commission) * s lng bn trong tun (quantity).
o HourlyWorker: Tin lng = Lng 1 gi (wage) * s gi trong tun (hours). Nhng
gi vt trn 40, tnh h s 1.5
o PieceWorker : Tnh lng theo sn phm = s lng (quantity) * n gi 1 sn phm (wagePerPiece).
10

............................................................................................................................................................
Rng buc d liu u vo:
weeklySalary > 0.0 salary > 0.0
wage > 0.0

commission > 0.0

quantity > 0

0 <= hours < 168 wagePerPiece > 0.0

quantity > 0

............................................................................................................................................................
Vit lp cho phn kim th.
-

To mng nhn vin gm 5 phn t: Employee [] list= new Employee[5];


Thng tin ca 5 nhn vin gm:
Boss
Commission worker

FirstName
John
Sue

LastName
Smith
Jones

Piece worker

Bob

Lewis

Hourly worker

Karen

Price

Piece worker

Andy

Lewis

weeklySalary = 800
salary = 400,
commission = 3,
quantity = 150
wagePerPiece = 2.5,
quantity = 200
wage = 13.75,
hours = 40
wagePerPiece = 2.0,
quantity = 150

In ra mn hnh:

Sp xp danh sch gim dn theo ct tng thu nhp trong tun.

11

BI TP THC HNH TUN 5


Bi 1: Qun l thng tin cc kha hc.
Thng tin kha hc (Course) gm: M kha (courseID), tn kha (courseTitle), s tn ch (credits).
Kha hc chia thnh cc hc phn, mi hc phn ch thuc duy nht 1 kha hc. Thng tin hc
phn (Section) gm: M s hc phn (sectionNbr), hc k (semester) v phng hc (room).
Ging vin (Faculty) c th ging dy nhiu hc phn khc nhau, mt hc phn ch do duy
nht mt ging vin ging dy. Thng tin ging vin gm: M s ging vin (facultyID), h tn v
trc thuc b phn no (office).
Hin thc m hnh lp sau bng ngn ng lp trnh Java. Trong , phng thc addSection
dng thm 1 hc phn cho kha hc.
addSection(sectionNbr: String, semester: String, room: String, facultyMember: Faculty): void
class enrollStudent
Comparable

Faculty
-

Section

facultyID: String
lastName: String
firstName: String
office: String

constructor
Faculty()
Faculty(facultyID: String, lastName: String,
firstName: String, office: String)
property get
+ getFacultyID(): String
+ getOffice(): String
+ getLastName(): String
+ getFirstName(): String
property set
+ setFacultyID(facultyID: String): void
+ setOffice(office: String): void
+ setLastName(newVal: String): void
+ setFirstName(newVal: String): void
+
+

sectionNbr: String
semester: String
room: String

constructor
Section(sectionNbr: String, semester: String, room: String,
facultyMember: Faculty)
-teaches
+ Section()
1
0..*
property get
+ getSectionNbr(): String
+ getSemester(): String
+ getRoom(): String
property set
-sections + setSectionNbr(sectionNbr: String): void
+ setSemester(semester: String): void
+ setRoom(room: String): void
0..*
+

Course
-

courseNbr: String
courseTitle: String
credits: int

addSection(sectionNbr: String, semester: String, room: String, facultyMember: Faculty): void


constructor
+ Course()
+ Course(courseNbr: String, courseTitle: String, credits: int)
property get
+ getCourseNbr(): String
+ getCourseTitle(): String
+ getCredits(): int
property set
+ setCourseNbr(courseNbr: String): void
+ setCourseTitle(courseTitle: String): void
+ setCredits(credits: int): void

Vit lp cho phn kim nghim v in ra mn hnh theo mu:

12

Bi 2: Qun l thng tin cc kha hc v thng tin sinh vin tham gia ng k hc cc kha hc.
Bi tp lm thm (M rng bi 1)
Lp Person (ngi) l lp c s. Lp Student (sinh vin) v Faculty (ging vin) l hai lp dn xut
t lp ny.
Mi hc phn nhiu sinh vin ng k tham gia (Enrollment) hc. Sinh vin tham gia hc phn s
c 1 trng thi (status), 1 im ch (grade) v im s (numGrade).
Trong , phng thc addSection dng thm 1 hc phn cho kha hc.
addSection(String sectionNbr, String semester, String room, Faculty facultyMember, Set<Enrollment> listEnrolls): void

Mapping to java code:


public class Person {

public class Student extends Person {

private String lastName;


private String firstName;

private int yearMatriculated;


private String studentID;

//
}
public class Faculty extends Person
{

//
}
public class Section {
private
private
private
private
private
//

private String office;


private String facultyID;
//
}

String semester;
String sectionNbr;
String room;
Faculty facultyMember;
Set<Enrollment> listEnrolls ;

13

public class Enrollment {


private
private
private
private
//

public class Course {

String status;
String grade;
float numGrade;
Student student;

private
private
private
private

String courseNbr;
String courseTitle;
int credits;
Set<Section> sections;

public int getNbrStudents(String sectionNbr){


//body of the method
}
public void addSection(String sectionNbr,
String semester,
String room,
Faculty facultyMember,
Set<Enrollment> listEnrolls){
//body of the method
}

Vit lp cho phn th nghim:


1. To danh sch ging vin
2. To danh sch sinh vin
3. To kha hc.
4. Lp danh sch sinh vin tham gia vo 1 hc phn ca kha hc do 1 ging vin ging dy.
5. In ra mn hnh theo mu:

14

N THI GIA K
Hin thc m hnh lp sau bng ngn ng lp trnh Java.
Bi 1:

Bi 2:

15

Bi 3:

16

Cc phm tt trong Eclipse (nhn t hp phm Ctrl + Shift + L)

17

18

You might also like