ch s :
ỉ ố
M t bi n hay giá tr đ c dùng đ ch n m t trong các thành viên (ph n t ) c a m t t p h p đ c x p
ộ
ế
ị ượ
ể ọ
ộ
ầ ử ủ
ộ ậ
ợ
ượ ế
th t , nh ch n kí t t m t chu i.
ứ ự
ư ọ
ự ừ ộ
ỗ
bi t l :
ệ ệ
M t l i khi th c thi ch ng trình.
ộ ỗ
ự
ươ
phát:
Gây nên m t bi t l .
ộ
ệ ệ
l n v t ngăn x p:
ầ
ế
ế
M t b n báo cáo cho th y tr ng thái ch ng trình khi có bi t l x y ra.occurs.
ộ ả
ấ
ạ
ươ
ệ ệ ả
nguyên m u:
ẫ
Dòng đ u tiên c a m t ph ng th c, trong đó quy đ nh tên, các tham s và ki u tr l i.
ầ
ủ
ộ
ươ
ứ
ị
ố
ể
ả ạ
duy t:
ệ
Vi c l p qua t t c m i ph n t c a m t t p h p nh m th c hi n m t công vi c t ng t đ i v i t ng
ệ ặ
ấ ả ọ
ầ ử ủ
ộ ậ
ợ
ằ
ự
ệ
ộ
ệ ươ
ự ố ớ ừ
ph n t .
ầ ử
bi n đ m:
ế
ế
M t bi n dùng đ đ m th gì đó; bi n này th
ng đ c kh i t o b ng không sau đó tăng thêm.
ộ
ế
ể ế
ứ
ế
ườ
ượ
ở ạ
ằ
tăng:
Vi c tăng giá tr c a bi n thêm m t đ n v . Toán t tăng trong Java là
ệ
ị ủ
ế
ộ ơ
ị
ử
++.
gi m:
ả
Vi c gi m giá tr c a bi n thêm đi đ n v . Toán t gi m trong Java là
ệ
ả
ị ủ
ế
ơ
ị
ử ả
--.
8.12 Bài t p
ậ
Bài t p 1
ậ
Hãy vi t m t ph
ng th c nh n vào m t
ế
ộ
ươ
ứ
ậ
ộ String làm đ i s r i in t t c các ch cái theo
ố ố ồ
ấ ả
ữ
chi u ng
c l i trên cùng m t dòng.
ề
ượ ạ
ộ
Bài t p 2
ậ
Hãy đ c
ọ n i dung l n v t ngăn x p M c
ộ
ầ
ế
ế ở ụ 8.4 r i tr l i nh ng câu h i sau:
ồ
ả ờ
ữ
ỏ
•
Nh ng lo i bi t l nào đã x y ra, và nh ng bi t l này đ
c đ nh nghĩa trong các gói (package) nào?
ữ
ạ
ệ ệ
ả
ữ
ệ ệ
ượ ị
•
Giá tr nào c a ch s gây nên bi t l ?
ị
ủ
ỉ ố
ệ ệ
•
Ph
ng th c nào phát ra bi t l , và ph
ng th c đó đ
c đ nh nghĩa đâu?
ươ
ứ
ệ ệ
ươ
ứ
ượ ị
ở
•
Ph
ng th c nào kích ho t
ươ
ứ
ạ charAt?
•
Trong BadString.java, charAt đ
c kích ho t t i dòng s m y?
ượ
ạ ạ
ố ấ
Bài t p 3
ậ
Hãy bao b c đo n mã M c
ọ
ạ
ở ụ 8.7 vào m t ph ng th c có tên
ộ
ươ
ứ
countLetters, sau đó khái quát
hoá sao cho nó ch p nh n các đ i s là chu i và ch cái c n đ m. Ti p theo, vi t l i ph
ng th c sao
ấ
ậ
ố ố
ỗ
ữ
ầ
ế
ế
ế ạ
ươ
ứ
cho nó s d ng
ử ụ indexOf đ đ nh v các ch a, thay vì ki m tra t ng ch cái m t.
ể ị
ị
ữ
ể
ừ
ữ
ộ
Bài t p 4
ậ
M c đích c a bài t p này là ôn l i phép bao b c và khái quát hoá.
ụ
ủ
ậ
ạ
ọ
1.
Hãy bao b c đo n mã l nh sau, chuy n đ i nó thành m t ph
ng th c nh n vào đ i s là m t String
ọ
ạ
ệ
ể
ổ
ộ
ươ
ứ
ậ
ố ố
ộ
r i tr l i giá tr cu i cùng c a
ồ ả ạ
ị ố
ủ count.
2. Mô t ng n g n công d ng c a ph
ng th c v a l p nên (mà không đi vào chi ti t các b
c th c hi n
ả
ắ
ọ
ụ
ủ
ươ
ứ ừ ậ
ế
ướ
ự
ệ
nh th nào).
ư ế
3. Bây gi khi b n đã khái quát hoá đ mã l nh ho t đ ng đ
c v i chu i b t kì r i, b n còn có th khái
ờ
ạ
ể
ệ
ạ ộ
ượ ớ
ỗ ấ
ồ
ạ
ể
quát hoá theo cách nào n a?
ữ
String s =
"((3 + 7) * 2)"
;
int
len = s.length();
int
i = 0;