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

c a hai nh t thi t có ích! Khi nào r nh r i, b n hãy ghi nh các lũy th a c a hai đ n t n

ế

ừ ủ

ế ậ 65536 (t c là

2

16

).

7.4 B ng hai chi u

Trong m t b ng hai chi u, b n đ c giá tr đi m giao c t gi a m t hàng v i m t c t. B ng c u ch

ng

ộ ả

ị ở ể

ộ ộ

ươ

là m t ví d đi n hình. Gi s b n mu n in ra m t b ng tính nhân v i các giá tr t 1 đ n 6.

ụ ể

ả ử ạ

ộ ả

ị ừ

ế

M t cách b t đ u n th a là vi t m t vòng l p đ in ra các b i s c a

ắ ầ ổ

ế

ộ ố ủ 2 trên cùng m t dòng.

int

i = 1;

while

(i <= 6) {

System.out.print(2*i +

" "

);

i = i + 1;

}

System.out.println(

""

);

Dòng đ u tiên kh i t o m t bi n có tên là

ở ạ

ế

i; nó đóng vai trò m t bi n đ m ho c

ế

ế

bi n vòng l p

ế

. Khi

vòng l p đ

c th c thi, giá tr c a

ượ

ị ủ i tăng t 1 lên 6. Khi

i b ng 7, vòng l p k t thúc. M i l n l p, ch

ng

ế

ỗ ầ ặ

ươ

trình s in ra giá tr c a

ị ủ 2*i, theo sau là ba d u cách.

M t l n n a, d u ph y trong câu l nh

ộ ầ

ệ print ngăn không cho xu ng dòng. Sau khi vòng l p k t thúc,

ế

l nh

ệ print th hai b t đ u m t dòng m i. Vì ta dùng

ắ ầ

System.out.print, nên toàn b k t qu đ

c ghi

ộ ế

ả ượ

trên m t dòng.

Có nh ng môi tr

ng mà k t qu t

ườ

ế

ả ừ print đ c l u l i mà ch a hi n th đ n khi kích ho t

ượ ư ạ

ư

ị ế

ạ println. N u

ế

ch

ng trình k t thúc, mà b n quên kích ho t

ươ

ế

ạ println, có th b n s không bao gi th y đ c k t qu

ể ạ ẽ

ờ ấ

ượ ế

đ

c l u l i này.

ượ ư ạ

K t qu c a ch

ng trình là:

ế

ả ủ

ươ

2 4 6 8 10 12

M i vi c đ n gi ti n tri n t t. B

c ti p theo là

ệ ế

ờ ế

ể ố

ướ

ế

bao b c

khái quát hóa.

7.5 Bao b c và khái quát hóa

Bao b c là quá trình đ t m t đo n mã l nh vào trong m t ph

ng th c; vi c này cho phép ta t n d ng

ươ

đ

c nh ng u đi m c a ph

ng th c. Ta đã th y hai ví d v bao b c, khi ta vi t

ượ

ư

ươ

ụ ề

ế printParity M c

ở ụ

4.3 và isSingleDigit M c 6.7.

ở ụ

Khái quát hóa nghĩa là ch n l y m t đi u c th , nh công vi c in ra

ọ ấ

ề ụ ể

ư

các b i s c a 2, r i làm cho nó tr

ộ ố ủ

thành khái quát h n, ch ng h n nh in ra các b i s c a m t s nguyên b t kì.

ơ

ư

ộ ố ủ

ộ ố

Ph

ng th c sau đây bao b c đo n mã l nh nói trên r i khái quát hóa nó đ in ra

ươ

các b i s c a

ộ ố ủ n.

public static void

printMultiples(

int

n) {

int

i = 1;

while

(i <= 6) {

System.out.print(n*i +

" "

);

i = i + 1;