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

Các ph n t c a m ng này là nh ng

ầ ử ủ

tham chi u

ế đ n các chu i, thay vì là b n thân các chu i.

ế

Bây gi ta c n m t m ng các chu i khác đ gi i mã các b c c a lá bài:

ể ả

ậ ủ

String[] ranks = {

"narf"

,

"Ace"

,

"2"

,

"3"

,

"4"

,

"5"

,

"6"

,

"7"

,

"8"

,

"9"

,

"10"

,

"Jack"

,

"Queen"

,

"King"

};

Lý do có m t

ặ "narf" là đ đ ng vào ch ph n t th không c a m ng, v n ch ng bao gi đ c dùng đ n

ể ứ

ầ ử ứ

ờ ượ

ế

(hay l ra không có). Các b c h p lý ch có t 1–13. Đ tránh ph n t th

ng này, ta đã có th b t đ u t

ậ ợ

ầ ử ườ

ể ắ ầ ừ

0, nh ng vi c ánh x s t nhiên h n n u ta mã hóa 2 là 2, và 3 là 3, v.v.

ư

ạ ẽ ự

ơ

ế

V i các m ng này, ta có th ch n đ

c

ể ọ

ượ String thích h p b ng cách dùng ch s là

ỉ ố suit và rank. Trong

ph

ng th c

ươ

ứ printCard,

public static void

printCard(Card c) {

String[] suits = {

"Clubs"

,

"Diamonds"

,

"Hearts"

,

"Spades"

};

String[] ranks = {

"narf"

,

"Ace"

,

"2"

,

"3"

,

"4"

,

"5"

,

"6"

,

"7"

,

"8"

,

"9"

,

"10"

,

"Jack"

,

"Queen"

,

"King"

};

System.out.println(ranks[c.rank] +

" of "

+ suits[c.suit]);

}

bi u th c

ứ suits[c.suit] có nghĩa là “dùng bi n th c th

ế

ể suit t đ i t ng

ừ ố ượ c làm ch s trong m ng có

ỉ ố

tên suits, r i ch n chu i thích h p.” K t qu c a đo n mã này

ế

ả ủ

Card card =

new

Card(1, 11);

printCard(card);

là Jack of Diamonds.

13.4 Ph

ng th c

ươ

ứ sameCard

T “same” (gi ng nhau, cùng) là m t trong nh ng hi n t

ng ngôn ng trong ti ng Anh mà có v ngoài

ệ ượ

ế

quá rõ ràng, nh ng khi b n suy nghĩ thì s th y còn có nhi u đi u h n b n ch đón ban đ u.

ư

ẽ ấ

ơ

Ch ng h n, n u nói r ng “Chris và tôi có cùng (lo i) xe,” thì tôi mu n nói r ng hai chi c xe cùng nhãn

ế

ế

hi u, song là hai chi c khác nhau. Còn n u nói “Chris và tôi có cùng m ,” thì ý r ng m c u ta và m tôi

ế

ế

ẹ ậ

cùng là m t ng

i. B i v y ý nghĩa c a “cùng” thì l i khác nhau tùy theo ng c nh.

ườ

ở ậ

ữ ả

Khi nói v các đ i t

ng, ta cũng g p s m p m t

ng t . Ch ng h n, n u hai

ố ượ

ặ ự ậ

ờ ươ

ế

Card nh nhau, thì li u

ư

có nghĩa là chúng có cùng d li u (b c và ch t), hay đó th c ra cùng là m t đ i t

ng

ữ ệ

ộ ố ượ Card?

Đ xem li u có ph i hai tham chi u cùng ch đ n m t đ i t

ng hay không, ta dùng toán t

ế

ỉ ế

ộ ố ượ

ử ==. Ch ng

h n:

Card card1 =

new

Card(1, 11);

Card card2 = card1;

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.