You are on page 1of 4

BI TP HNG TUN

Mn hc: OOLT X l ngoi l


Cu 1. Xy dng lp MyException gm cc thuc tnh v phng thc nh hnh
trang bn, bit rng lp MyException c:
a. 3 thuc tnh: reason ch l do xy ra ngoi l, context ch ng cnh xy ra
ngoi l (xy ra u, thng tin v ni xy ra ngoi l) v info l thng tin
thm cho ngoi l.
b. 4 hng tnh c gi tr nh trong hnh v.
c. Vit cc phng thc set v get cho cc thuc tnh reason, context v info;
ch phng thc setReason(String reasonType) ty thuc vo tham s
reasonType truyn vo m thit lp cho thuc tnh reason cc gi tr tng
ng nh sau:
i. Nu reasonType c gi tr l null th reason c thit lp l Null
pointer exception.
ii. Nu reasonType c gi tr l hng EXIST th reason c thit lp l
The id of the item youve entered is already existed!
iii. Nu reasonType c gi tr l hng NOT_EXIST th reason c thit
lp l The item you want to update is not existed!.
iv. Nu reasonType c gi tr l hng INVALID th reason c thit
lp l The item youve entered is not valid!.
v. Nu reasonType c gi tr l hng NO_ITEM th reason c thit
lp l There is no item!.
vi. Nu reasonType c gi tr l hng NOT_EMPTY th reason c thit lp
l The id of the item youve entered can not be empty!.
d. Phng thc getMessage() tr v tt c cc thng tin ca ngoi l , gi tr
tr v c dng: Reason: <gi tr ca thuc tnh reason>; \nContext: <gi tr
ca thuc tnh>; \nAdditional Info: <gi tr ca thuc tnh info>. Ch xt
cc trng cc thuc tnh null hoc c gi tr th khng cn a vo gi
tr tr v.
e. Phng thc toString() tr v mt xu gm: Tn lp ca i tng hin ti,
du : v gi tr ca getMessage()




















f. Vit cc phng thc khi to nh trong hnh v, ch :
i. Cc phng thc khi to s gi phng thc khi to ca lp cha
truyn cc thng tin tng ng bao gm message (ging nh kt qu
ca phng thc getMessage()) v cause (nu c).
ii. Phng thc MyException(Exception cause, String context) thit lp
cho cc thuc tnh reason v info cho i tng ngoi l hin ti t
i tng cause (nu cause l mt i tng ca lp MyException).
Cu 2. Vit m ngun cho lp Student v StudentClass nh hnh v bit rng:
a. Vit cc phng thc set, get cn thit cho 2 lp Student v StudentClass.
b. Cc phng thc c throws ra ngoi l MyException th cn c x l trong
m ngun tng ng vi cc reason lit k trong Bi 1 (nu c). Ch :
i. Kim tra tnh null ca cc i tng truyn vo throw ra nhng
ngoi l c thng tin tng ng.
ii. M ca sinh vin trong tp hp phi l duy nht, ko cho php c 2
sinh vin c cng m s.
iii. score ca sinh vin phi c gi tr nm trong on [0,4]. Nu gi tr
ny c cp nht khng tha mn th throw ra ngoi l vi thng
tin tng ng.





MyException
- reason: String
- context : String
- info: String
+ EXIST = 0001
+ NOT_EXISTED = 0002
+ INVALID = 0003
+ NO_ITEM = 0004
+ NOT_EMPTY = 0005

+ MyException(String reason)
+ MyException(String reason, String context)
+ MyException(String reason, String context, String info)
+ MyException(Exception cause, String context)
+ getMessage(): String
+ toString(): String























c. Mi quan h gia Student v StudentClass c ci t bng mt tp hp,
khng c dng mng.
d. Phng thc add(Student) thm sinh vin vo cui tp hp. Nu sinh vin
thm vo c m s ging vi sinh vin c trong tp hp, throw ra ngoi
l vi cc thng tin tng ng.
e. Phng thc add(int index, Student student) thm student vo v tr c ch
s l index. Nu sinh vin thm vo c m s ging vi sinh vin c
trong tp hp, throw ra ngoi l vi cc thng tin tng ng.
f. Phng thc update(Student student) tm kim student (theo m) c trong
tp hp, nu thy th cp nht cc thng tin cn li vo sinh vin va tm
thy, nu khng thy th throw ra ngoi l vi cc thng tin tng ng.
g. Phng thc remove() xa sinh vin cui cng trong tp hp (mi thm
vo nht) v tr v sinh vin va xa.
StudentClass

- classID: String
- className : String

+ StudentClass(String, String) throws MyException
+ add(Student) throws MyException
+ add(int index, Student student) throws MyException
+ update(Student) throws MyException: boolean
+ remove() throws MyException: Student
+ remove(Student) throws MyException
+ remove(int index) throws MyException: Student
+ getDetail(): String

Student

- studentID: String
- studentName : String
- score: float

+ Student(String, String, float) throws MyException
+ getDetail(): String

1



*
h. Phng thc remove(Student student) tm kim student trong tp hp v
xa sinh vin khi tp hp. Nu khng tm thy th throw ra ngoi l vi
thng tin tng ng.
i. Phng thc remove(int index) xa sinh vin c ch s l index khi tp
hp, tr v sinh vin va xa. Nu khng tm thy sinh vin c ch s a
vo th throw ra ngoi l vi thng tin tng ng.
j. Phng thc getDetail() ca lp Student tr v thng tin chi tit v sinh
vin . Phng thc getDetail() ca lp StudentClass tr v thng tin chi
tit ca lp cng cc thng tin chi tit ca sinh vin trong lp .
k. Vit lp Test trong to cc i tng ca lp Student v StudentClass;
s dng cc i tng trong vic gi cc phng thc vit trong cc
phn trn minh ha cho vic bt v x l ngoi l.

You might also like