THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 74

negative or not less than the length of this string.

Dòng đ u tiên là

nguyên m u

c a ph ng th c, có nhi m v quy đ nh tên c a ph ng th c, ki u d

ươ

ươ

li u c a các tham s cũng nh ki u tr l i.

ệ ủ

ư ể

ả ạ

Dòng ti p theo miêu t nh ng công vi c mà ph

ng th c th c hi n. Các dòng sau đó gi i thích các tham

ế

ươ

s và giá tr tr l i. Trong tr

ng h p này, vi c gi i thích là quá th a, nh ng tài li u luôn đ

c thi t k

ị ả ạ

ườ

ư

ượ

ế ế

đ phù h p m t d ng m u tiêu chu n. Còn dòng cu i cùng mô t các bi t l mà ph

ng th c này có th

ộ ạ

ệ ệ

ươ

phát ra.

Có l b n s m t chút th i gian đ làm quen v i ki u tài li u th này, nh ng th i gian công s c b ra

ẽ ạ ẽ ấ

ế

ư

ứ ỏ

cũng đáng.

8.6 Ph

ng th c

ươ

ứ indexOf

indexOf là phép ngh ch đ o c a

ả ủ charAt: charAt nh n vào m t ch s r i tr l i kí t v trí ch s

ỉ ố ồ

ả ạ

ự ở ị

ỉ ố

đó; indexOf nh n m t kí t r i tìm ch s mà kí t đó xu t hi n.

ự ồ

ỉ ố

charAt th t b i n u ch s n m ngoài ph m vi chu i, khi đó ph

ng th c này s phát bi t

ấ ạ ế

ỉ ố ằ

ươ

l .

ệ indexOf th t b i n u kí t không có m t trong chu i, và tr l i giá tr

ấ ạ ế

ả ạ

ị -1.

String fruit =

"banana"

;

int

index = fruit.indexOf(

'a'

);

Đo n mã l nh này tìm ch s c a ch cái

ỉ ố ủ

’a’ trong chu i. V i tr

ng h p này, ch cái nêu trên xu t hi n

ớ ườ

ba l n, nên ta ch a th y ngay r ng

ư

ằ indexOf nên làm gì. Nh ng theo tài li u, thì ph ng th c này s tr

ư

ươ

ẽ ả

l i ch s c a l n xu t hi n

ỉ ố ủ ầ

đ u tiên

.

Đ tìm các l n xu t hi n ti p theo, còn có m t d ng khác c a

ế

ộ ạ

ủ indexOf. Nó nh n vào m t đ i s th hai

ộ ố ố ứ

quy đ nh xem c n b t đ u tìm ki m t v trí nào trong chu i. Đây là m t d ng quá t i toán t , đ bi t

ắ ầ

ế

ừ ị

ộ ạ

ử ể ế

thêm chi ti t, b n hãy xem M c

ế

6.4.

N u ta kích ho t:

ế

int

index = fruit.indexOf(

'a'

, 2);

nó s b t đ u ch cái s hai (ch

ẽ ắ ầ ở ữ

ữ n đ u tiên) r i tìm ch

ữ a th hai, v n có ch s là 3. N u tình c ch

ỉ ố

ế

ờ ữ

cái đó xu t hi n ngay ch s kh i đ u, thì câu tr l i chính là ch s đ u này. B i v y

ở ỉ ố

ở ầ

ả ờ

ỉ ố ầ

ở ậ

int

index = fruit.indexOf(

'a'

, 5);

s tr l i 5.

ẽ ả ạ

8.7 L p quay vòng và đ m

ế

Ch

ng trình d

i đây đ m s l n xu t hi n c a ch

ươ

ướ

ế

ố ầ

ệ ủ

ữ ’a’ trong m t chu i:

String fruit =

"banana"

;

int

length = fruit.length();

int

count = 0;

int

index = 0;

while

(index < length) {

if

(fruit.charAt(index) ==

'a'

) {

count = count + 1;